Perl verfügt über abschreckend viele Kommandozeilenoptionen,
wie ein erster Blick auf die manpage perlrun
schnell
offenbart. Das heißt jedoch nicht, daß man Perl nicht ohne
Kommandozeilenparameter betreiben könnte. Die wichtigsten
Parameter, die für die eine oder andere Aufgabe nützlich sind,
seien hier vorgestellt.
-0
Die Null (kein O
!) erwartet als unmittelbar
folgenden Parameter den Wert des Datensatztrenners.
Der Datensatztrenner teilt Perl mit, was als Datensatz
zu interpretieren ist; im Normalfall ist dies der
Zeilenumbruch. So fängt in Listen ja jeder neue Eintrag
(=Datensatz) mit einer neuen Zeile an.
Sollte dieses Verhalten nicht gewünscht sein, weil man Texte bearbeiten möchte, deren Daten innerhalb eines ,,Datensatzes'' über mehrere Zeilen verteilt sind, so muß man sie absatzweise einlesen. Dies wird erreicht, indem als Datensatztrenner eine Null übergeben wird, so daß dann folgendes Beispiel gilt:
#!/usr/bin/perl -00 while (<>) { # $_ enthält immer einen ganzen Absatz mit Zeilenumbrüchen! }
-d
aktiviert den Debugger. Es wird damit möglich, einen Programmtext Anweisung für Anweisung abzuarbeiten, Variable zu inspizieren und mit neuen Werten zu versehen, etc.
-i
SuffixMit dieser Option läßt sich angeben, ob und unter welchen Namen Sicherheitskopien von einer Datei angelegt werden.
-n
schließt den ganzen Programmtext in einer
while
-Schleife ein, um ihn auf alle Zeilen eines
Quelltextes anzuwenden, und simuliert damit die implizite
Schleife von awk und sed.
-p
geht noch einen Schritt weiter als -n
und druckt
automatisch den Wert der Standardvariablen aus, so
daß auch kein print
-Befehl mehr nötig ist.
-w
gibt Warnungen aus. Diese, vielleicht praktischste aller Kommandozeilenoptionen sollte zumindest während der Entwicklungsphase eines Perl-Programms immer aktiviert sein, da sie auf nicht deklarierte und nicht initialisierte Variable und viele andere Dinge hinweist.