system() über CGI
    
Michael Krutwig
    
    
      
    
  - perl
- 0 Klaus Mock- 0 Calocybe
 
 nicht angemeldet
 nicht angemeldetHallo,
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