Thread Rückgabewerte von Programm abfragen mit pipe (5 answers)
Opened by rommi at 2009-03-28 01:20

Gast rommi
 2009-03-28 11:39
#119900 #119900
Hallo FoolAck, danke für deine Antwort!

Also erstmal ist mir aufgefallen dass ich im Code vom B.pl einen Fehler drin habe. Hab da noch einen "alten" Dateinamen drin stehn. Natürlich will ich ja zu A.pl ne pipe machen, also muss die erste Zeile folgendermassen lauten:
Code: (dl )
open(FH, "c:\\A.pl |") or die "Open-Fehler...\n";

Mit "sleep in A.pl erhöhe" meine ich z.B. auf eine Sekunde, also "sleep 0.1" oder auf "sleep 1".
Wenn ich dann B.pl starte bleibt B.pl quasi hängen d.h. es blinkt minutenlang nur der Cursor und der Output von A.pl wird nicht verarbeitet. Mit $|++ ändert sich leider nix.

Ich weiss nicht genau was da passiert aber scheinbar wird da ewig gepuffert bis dann B.pl die Daten von A.pl zum verarbeiten erhält. Wenn ich den sleep-Wert aber auf sehr niedrig setze z.B. auf 0.001 dann rennt B.pl gleich los verarbeitet den Output. Eigentlich wollte ich ja folgendes erreichen:
1. B.pl soll A.pl starten
2. A.pl soll z.B. jede Sekunde (je nachdem welchen Wert ich einstelle) auf stdout einen Output ausgeben
3. B.pl soll den Output sofort erhalten und mit dem Output irgendwas machen

Ich hoffe ich konnte dass Problem genauer beschreiben, danke
und viele Grüsse rommi

View full thread Rückgabewerte von Programm abfragen mit pipe