Hallo Martin.
Ich hab jetzt folgenden Code probiert:
#!c:\programme\perl\bin\perl -w
print "Content-type: text/html\n\n";
$x = system('cmd.exe');
print $x;
exit;
Diesen führt er auch brav aus, allerdings nicht so wie ich es
mir vorgestellt habe. Ich möchte, dass die Eingabeaufforderung
am Server aufgerufen wird und zwar als eigener Task. Geht das
überhaupt? Bei diesem Code bekomme ich die Ausgabe im
Internet-Explorer und cmd.exe wird nicht als eigener Task
ausgeführt.
Wenn ich das Skript bei mir in einer DOS-Shell starte, sieht die Ausgabe aus wie folgt:
C:\web\cgi-bin>perl system.pl
Content-type: text/html
Microsoft(R) Windows Millennium
(C)Copyright Microsoft Corp 1981-1999.
C:\web\cgi-bin>
Die Shell wird also korrekt aufgerufen, aber gleich wieder
beendet. Das ist aber kein Problem von Perl, sondern liegt an der
DOS-Shell selbst, wie Du beim Aufruf von "cmd.exe" in einer DOS-Shell beobachten kannst. Andere Programme wie z.B. notepad.exe verhalten
sich wie von Dir gewünscht.
Du müsstest also die DOS-Shell überzeugen, sich nicht gleich zu
beenden. Vielleicht ist das irgendwie möglich. Schau Dir dazu mal
die Aufrufparameter der Shell mit cmd /? an und sag Bescheid, ob
Du eine Lösung gefunden hast.
Gruß,
-Andreas.