Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : PERL: Ausgaben anderer Programme weiterverarbeiten



Rebell
31-07-2003, 11:31
Hallo...

Ich suche eine Möglichkeit die Ausgabe eines anderen Programmes in Perl weiterverarbeiten zu können. Ich möchte die Ausgabe von Programmen wie "ls" oder "dpkg" Zeile für Zeile, oder in einem Array zurückgeliefert bekommen.

Habt ihr eine Möglichkeit?

quinte17
31-07-2003, 11:52
versuchs mal ala:

var = `ls`;

achte auf die richtigen hochkommatas ` !!
nicht ´ oder '

mfg

phate
31-07-2003, 13:50
Hi Rebell,

das Ganze kannst Du auch über open() und einem nachgestellten Pipe zum Lesen aus einer Prozessausgabe machen.
my $prog = ls;

open PROC, "$prog |";
my @output = <PROC>;
close PROC;So bekommst Du die ausgegebenen Zeilen in einem Array und kannst diesen danach abarbeiten. Geht natürlich auch zeilenweise wie bei jedem anderen Filehandle auch
while (defined(<PROC>)) {
# tu was
}

Sollte aber auch in den meisten Perl-Tutorials zu finden sein.

gruss

phate