Michael Schröpl: Ausgabe von aufgerufenen Programmen

Beitrag lesen

open (PING,"/bin/ping -c 1 192.168.11.2")
nun sind alle Ausgaben von dem Programm im File-Descriptor PING lesbar, d.h.

Hallo Gero,

was vermutlich auch gehen müßte (und vielleicht naheliegender ist als eine pipe ;-), ist folgende Konstruktion:

my $ergebnis = /bin/ping -c 192.168.11.2

Das schreibt die Ausgabe des Kommandos in die Variable $ergebnis - genau so, wie man das auch in einer UNIX-shell tun würde.

Gegenüber einer shell noch komfortabler ist:

my @ergebnis = /bin/ping -c 192.168.11.2

wobei dann der array @ergebnis die einzelnen Zeilen der Ausgabe enthält (falls man z. B. bloß die erste oder letzte Zeile haben will, braucht man das Ergebnis nicht mehr zu parsen).

Mich würde zudem interessieren, ob die pipe-Lösung auch auf Windows läuft und nicht nur auf UNIX. Die "backticks" scheinen auf beidem zu funktionieren.