Philipp Hasenfratz: Probleme mit der Anzeige im Browser

Beitrag lesen

Halihallo peter

Das funktioniert bei mir zum Teil mit open(DATEI,"soundso.pl |");

Pipes, OK.

Dazu ist zu sagen, dass das Programm parametisiert ist und einige   Funktionen duchaus so ihre Werte zurückgeben, zum Beispiel   Textdateien, aber auch laufende Prozesse, die ich durch "refresh"     aktuell halte.

Hä?

wenn der gestartete Prozess nicht "detached" gestartet wird, wartet das Hauptprogramm
auf das Enden jenes. Es sei denn das Shell-Programm merkt, dass es nicht unter der
Konsole arbeitet.

Was heisst in diesem Zusammenhang "detached"?

In eigener Session, oder so, dass das Hauptprogramm nicht auf das Enden des Childs
wartet. Nicht so wichtig.

Die html-Seite, die ich zurück bekomme beinhaltet im Grunde alles,    was ich im Perl-Skript angegeben habe. Die html-Seite soll    die Ausgabe des Programms im Grunde wie auf der Konsole    darstellen, nur eben grafisch ansprechender usw.

Mit anderen Worten: Es funktioniert alles, bis auf die Ausgaben der Child-Prozesse. Das
hatte ich erwartet und erhofft.

Möglicherweise liegt das Problem gar nicht so sehr bei meinen     Skripts, sondern vielmehr an der Arbeitsweise des Shell-Programms.    Dennoch ist es eigenartig, dass auf der Konsole alles ausgegeben    wird, im Browser aber eben nicht...

Wenn du mit open(F,'prog.pl |');
kannst du mit

while (my $line=<F>) {
   print $line;
}

die Daten der Ausgabe von prog.pl einlesen und dann über print $line; zur Standardausgabe
deines Scripts (STDOUT, wird zum Client gesendet) "umleiten".

Viele Grüsse

Philipp