system() über CGI
Michael Krutwig
- perl
0 Klaus Mock0 Calocybe
Hallo,
ich bastel an einem Skript, das mir die Ausgabe des Befehls "perl -c skript.pl" in den Browser umleitet und somit das ständige checken von Programmen über Telnet erspart.
Wie kann ich die Ausgabe des Befehls
system "perl","-c -w","irgendeinskript.pl";
auch im Browser geniessen? Direkt der Konsole klappt die Ausgabe, der Browser bricht ab ("malformed header from script").
(Natürlich schicke ich VOR dem Aufruf einen korrekten Header an den Browser. Wenn ich den system()-Aufruf auskommentiere, dann läuft das Skript auch).
Hallo,
system "perl","-c -w","irgendeinskript.pl";
Fehlermeldungen beim Switch -c werden ebenso zum STDERR gesendet, wie das auch ohne passiert.
Versuchs mal mit
system 'perl -c -M"CGI::Carp qw(fatalsToBrowser)" test.pl';
bzw.
open(IN,qq!perl -c -M"CGI::Carp qw(fatalsToBrowser)" test.pl|!);
print while <IN>;
Grüße
Klaus
PS.: Keine Ahnung, ob dies der 'reinen' Lehre vom perfekten Perl entspricht, hab's eben mit dem Apache (Win2K) getestet, und es geht.
Moin!
PS.: Keine Ahnung, ob dies der 'reinen' Lehre vom perfekten Perl entspricht, hab's eben mit dem Apache (Win2K) getestet, und es geht.
Wie immer: Viele Wege fuehren nach ... wohin auch immer. Eine andere Variante, die aber nur funktioniert, wenn es die verwendete Shell unterstuetzt (mit der weitverbreiteten bash funktioniert's z.B.), waere:
print qx|perl -cw irgendeinskript.pl 2>&1|;
So long