Nadel im Heuhaufen
Reguläre Ausdrücke
Fehlersuche
Komplexe reguläre Ausdrücke funktionieren selten auf Anhieb. Die Suche nach dem Fehler kostet Zeit und Nerven. Halten Sie Kaffee oder Cola bereit!
An der Kommandozeile sollte der erste Schritt immer das Voranstellen von echo sein. Möglicherweise isst die Shell mit und verschluckt einzelne Zeichen. Indem Sie sich den tatsächlich ausgeführten Befehl noch einmal anzeigen lassen, kommen Sie diesem Problem schnell auf die Schliche.
Doch auch in einem Skript tun Sie sich viel Gutes, indem Sie den gesuchten regulären Ausdruck, die Fundstelle oder zumindest Teile davon noch einmal anzeigen lassen. Nehmen Sie entsprechende Befehle ins Skript mit auf. Der Perl-Debugger erlaubt Ihnen das interaktive Austesten regulärer Ausdrücke.
Wenn das noch nicht hilft, zerlegen Sie den Ausdruck in kleinere Teile. Prüfen Sie, ob alle Bestandteile wirklich genau das tun, was Sie erwarten.
Ganz wichtig: Bleiben Sie geduldig.
Ausblick
In der gebotenen Kürze haben Sie nun einen Eindruck von den Fähigkeiten und Möglichkeiten, aber auch von der Komplexität der regulären Ausdrücke erhalten. Wenn Sie sich weiter damit beschäftigen wollen, hilft nur eines: üben, üben, üben. Die "Lektüre" bzw. das mühsame Auseinanderklauben der oft komplexen Regexps, die man in Skripten allenthalben findet, ist gleichzeitig lehrreich und frustrierend. Besser fährt man, wenn man reguläre Ausdrücke konsequent einsetzt. Spätestens dann, wenn Sie zwei ähnliche Suchen kurz hintereinander durchführen, fragen Sie sich: Wäre es mit einer Regexp nicht einfacher gegangen?
Weiterführende Informationen in englischer Sprache finden Sie in den Handbuchseiten zu grep und perlre. Die Perl-Dokumentation enthält darüber hinaus noch ein paar Tipps und Tricks, insbesondere auch zur Fehlersuche: man perltrap und man perlfaq6.
Glossar
ed
Der klassische Unix-Zeileneditor, bei dem man nicht wie bei modernen Texteditoren üblich eine ganze Datei auf einmal bearbeitet, sondern Befehle gibt, die sich auf eine oder mehrere bestimmte Zeilen beziehen.
CGI-Programmierung
Das Schreiben von Skripten oder auch kompilierten Programmen, die auf dem Web-Server abgelegt, beim Abruf einer entsprechenden Web-Seite aufgerufen werden und ein HTML-Dokument "on the fly" (dynamisch) generieren. Die Abkürzung steht für "Common Gateway Interface".
POSIX
Ein Versuch der Normierung typischer Unix-Funktionalitäten und -Definitionen im IEEE-Standard 1003.1. Die meisten Linux-Programme sind auf Wunsch kompatibel zu POSIX, enthalten oft jedoch noch zusätzliche Funktionen.
Locale
POSIX unterstützt die automatische Anpassung von Programmen an die lokalen Verhältnisse. Offensichtliches Beispiel ist die automatische Anzeige deutscher (oder genauer: muttersprachlicher) Übersetzungen für Systemmeldungen oder Handbuchseiten. Zur Locale gehören aber auch Dinge wie das ortsübliche Format für Zahlen, Zeit- oder Datumsangaben, Maßeinheiten oder die bevorzugte Papiergröße und natürlich die Information darüber, welche Teile des Zeichensatzes welche Funktion erfüllen – ob beispielsweise das Zeichen 196 ein Ä oder ein nicht druckbares Sonderzeichen darstellt.



