Perl vereinfacht UNIX-Administration

Perl ist überall. Die meisten UNIX-Systeme werden mit Perl ausgeliefert, und auf allen anderen wird es normalerweise schnell installiert. Mac OS X wird mit Perl ausgeliefert, und jeder NT-Administrator, der oder die etwas auf sich hält, installiert es sofort.

Die selben User, die ein dreizeiliges Perl-Script für einen Task schreiben, den sie ausführen möchten, geben sich jedoch bei der Arbeit mit der Kommandozeile häufig für alte Tools wie cut, wc und sed her. Das muss nicht sein. Perl bietet eine extrem praktische Befehlszeilen-Funktionalität, die dazu beitragen kann, dass UNIX-Kommandozeilen-Tools bald der Vergangenheit angehören. Die unten stehende Erläuterung geht von einer UNIX bourne, ksh oder csh Befehlsshell aus. Alle Perl-Beispiele lassen sich auf NT portieren, benötigen dann aber einen anderen Abschluss.

Alles beginnt mit der Option -e, die dem ausführbaren Perl-Programm mitteilt, dass das nächste Argument ein zu kompilierendes und auszuführendes Perl-Statement ist. Die einfachste Verwendung ist als ungeschickter Ersatz für den Befehl echo:


perl -e 'print "Hello world";'

Man beachte die einfachen Anführungszeichen, die nötig sind, um den nachfolgenden Text in ein einziges Argument zu gruppieren. Auch normale (doppelte) Anführungszeichen könnte man verwenden – dann allerdings hätten die Anführungszeichen innerhalb des Befehls einen anderen Abschluss benötigt. Die Ausgabe dieses Befehls ist natürlich der String Hello world.

Zugegeben, das einmalige Ausführen eines einzelnen Perl-Kommandos ist nicht besonders nützlich. Zieht man aber den funktionsreichen Befehlssatz von Perl in Betracht, kann selbst eine einzelne Zeile extrem hilfreich sein. Mit der Option -p, die Perl mitteilt, für jede angebotene Standard-Eingabezeile den Befehl -e einmal auszuführen, beginnt Perl, seinen ganzen Nutzen zu präsentieren. Für jeden dieser Abläufe wird der Wert der verarbeiteten Zeile in der traditionellen Variablen $_ gespeichert. Nachdem jede Zeile durch den Befehl -e gefiltert wird, wird sie als Standard-Output gedruckt. Verwendet man anstelle des -p die Option -n, wird die Ausgabe unterdrückt.

Der offensichtlichste Verwendungszweck für diese neue Option ist als sed-ähnliches Werkzeug zum Suchen und Ersetzen:


perl -p -e 's/old/new/g;'

Dieser Befehl ersetzt alle Instanzen des String old in der Standard-Eingabe durch den String new und sendet die Resultate dann an die Standard-Ausgabe. Um diesen ‚Suchen und Ersetzen‘-Befehl auf eine Textdatei anzuwenden, verwenden wir eine „Pipe- und File-Umleitung“ nach dieser Art:


cat myfile | perl -p -e 's/old/new/g;' > newfile

Der modifizierte Datei-Content befindet sich nun in der Datei mit dem Namen newfile.

Bis jetzt haben wir noch nichts gesehen, was nicht auch mit den klassischen UNIX-Kommandozeilen-Tools genauso leicht erledigt werden könnte. Der Befehl echo bearbeitet unseren String Hello world, und sed spart Tipparbeit beim Befehl ‚Suchen und Ersetzen‘. Fügt man jedoch die Option -i zur Vor-Ort-Bearbeitung (in-place editing) ein, übertrifft Perl die Fähigkeiten dieser alten Bekannten mit Leichtigkeit.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Microsoft nennt weitere Details zu kostenpflichtigen Patches für Windows 10

Erstmals liegen Preise für Verbraucher vor. Sie zahlen weniger als Geschäftskunden. Dafür beschränkt Microsoft den…

5 Stunden ago

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

23 Stunden ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

1 Tag ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

1 Tag ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

1 Tag ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

1 Tag ago