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