Programmausgabe in Variable

jokey2

Erfahrenes Mitglied
Hallo Gemeinde!

Ich starte mit system(...) ein Programm, das etwas auf der Konsole ausgibt (stdout). Diese Ausgabe möchte ich in eine Variable abspeichern, ohne den Umweg über eine temporäre Datei zu gehen.
Gibt es eine Möglichkeit, das zu machen und wenn ja, wie geht das?

Für Hilfe wäre ich sehr dankbar!

P.S.: Ich brauche den Rückgabewert von system!
 
Zuletzt bearbeitet:
Bisher habe ich rausgefunden, daß das prinzipiell mit dem qx-Operator bzw. der Funktion readpipe scalar ... geht. Nur bekomme ich dann nicht den Rückgabewert des ausgeführten Befehls.
Wäre schon, wenn mir da jemand weiterhelfen könnte.
 
Hallo,

ich vermute mal, dass es um Perl geht? Hast du ja leider nicht erwähnt (hier wird auch CGI allgemein behandelt, und das ist ein weites Feld).

Folgendes sollte möglich sein:
Perl:
#!/usr/bin/perl

open(PIPE, "$command |");
my(@output_lines) = <PIPE>;
close(PIPE);

print "Lines of output: " . @output_lines . "\n";
print "Return value: $?\n";
 
Zurück