Parameter in Komandozeile?

Hi,

gibt es die Möglichkeit einem Perlscript in der Komandozeile Parameter zu übergeben?
Ich habe Perl mal zum Shell-Scripten unter Windows misbraucht.
Aufrufen tu ich es mit „perl.exe myScript.pl“.
Mein Script soll > 20 mal laufen, mit verschiedenen Parametern.
Jedesmal den Konfigurationsteil zu ändern ist zu aufwendig.
Wenn ich aber „perl.exe myScript.pl Parameter01 Parameter02“ aufrufe, weiß ich nicht wie ich meine Parameter im Script finde.
In den Umgebungsvariblen hab ich waren sie nicht.
Gibt es da 'ne spezielle Syntax beim aufrufen?
Gibt es die Möglichkeit der Parameterübergabe überhaupt?

cu Desian

Hallo Desian!

Jedesmal den Konfigurationsteil zu ändern ist zu aufwendig.
Wenn ich aber „perl.exe myScript.pl Parameter01 Parameter02“
aufrufe, weiß ich nicht wie ich meine Parameter im Script
finde.

Die Kommandozeilenparameter findest Du in dem Array @ARGV.
Den ersten Parameter erhältst Du also mit $ARGV[0], den
zweiten mit $ARGV[1] usw.

Mehr Infos gibts unter „perldoc perlvar“.

-Andreas.

Hi Desian,

Ich habe Perl mal zum Shell-Scripten unter Windows misbraucht.

von Missbrauch kann da überhaupt keine Rede sein. Perl eignet sich wahrscheinlich besser als alles andere zum Scripten (und es darf dabei ruhig mal ‚komplizierter‘ zugehen).

Aufrufen tu ich es mit „perl.exe myScript.pl“.
Wenn ich aber „perl.exe myScript.pl Parameter01 Parameter02“
aufrufe, weiß ich nicht wie ich meine Parameter im Script
finde.
In den Umgebungsvariblen hab ich waren sie nicht.
Gibt es da 'ne spezielle Syntax beim aufrufen?
Gibt es die Möglichkeit der Parameterübergabe überhaupt?

Alle übergebenen Argumente findet man im vrodefinierten Array @ARGV.

Also zum Testen mal:

perl -e ‚while ( scalar @ARGV ) { $a=$ARGV[0]; print „\n“; shift;}‘ 1 2 3 4 5

…gibt die Argumente aus.

Gruß
Bernhard