PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl und $? Variable kaputt



neo2k
20-02-2007, 17:55
Hallo,

ich habe mir ein CGI Script mithilfe von CGI::Application geschrieben. Mithilfe von Apache oder thttpd funktioniert dieses Script super.

Nun habe ich noch CGI::Application::Server aktiviert, damit mein Script stand-alone laufen kann.

Wenn ich aber CGI::Application::Server aktiviere, dann funktioniert keine $? Variable mehr.

zB:
qx(mkdir -p /tmp/test);
if ($? == 0) {
print "super";
}

Das funktioniert durch apache aufruf, aber nicht mehr durch CGI::Application::Server.

Hat jemand eine Idee woran das liegen könnte ?

Auch gern ganz allgemein: Wodurch könnte diese $? Variable kaputtgemacht werden ? Irgendwelche falschen Umgebungsvariablen ?

Vielen Dank
Torsten

Molaf
20-02-2007, 21:12
So wie ich CGI::Application::Server verstanden zu haben glaube, ist Dein Skript selber ein Childprozess des Servers, weswegen vermutlich erst dieser die Fehlermeldungen erhält.

neo2k
20-02-2007, 21:20
Also ist die $? eine globale Variable die immer nur der erste (Vater)-Prozess auslesen kann ?