Calocybe: Query-String-Übergabe unter Win32

Beitrag lesen

Hi Uli!

Mit $ENV{"QUERY_STRING"} greifst Du auf die Umgebungs-(Environment-)Variable QUERY_STRING zu. Damit es diese ueberhaupt gibt, muss man sie setzen. Wenn Du ein CGI-Script ueber HTTP aufrufst und wie gewohnt mit ? den Query-String angibst, macht das der Webserver fuer Dich. Du willst aber das Script ganz normal per Kommandozeile aufrufen (wenn ich das richtig geschnitten habe). Demnach *muesstest* Du

set QUERY_STRING=filename
    perl d:/pfad/script.pl

ausfuehren. Das ist aber ziemlich aufwendig und gerade unter NT auch ziemlich nervenaufreibend, sobald Du mal einen Parameter mit Leerzeichen uebergeben willst.

Die vorgesehene Variante ist bestechend einfach: Gib das Argument normal auf der Kommandozeile an, also
    perl d:/pfad/script.pl filename
(hast Du ja versucht), und lies dann dieses Argument auf dem vorgesehen Weg aus. Dazu gibt es in Perl das Array @ARGV, das die auf der Kommandozeile uebergebenen Argumente enthaelt. Der Dateiname steht dann also in $ARGV[0].

So lange, Calocybe