Veröffentlicht 7. Februar 200223 j Servus, wie kann man den ein Perlprogramm mit Parametern aufrufen? Bzw., wie kann die zusätzlichen Benutzereingaben beim Aufruf des Programms als Parameter interpretieren? Volkaman.
7. Februar 200223 j Meinst Du auf Kommandozeilen-Ebene oder einfach über einen Browser?! Bei einem Browser: http://www.deinedomain.de/cgi.bin/script.pl?var1=wert1&var2=wert2&varN=wertN Dann machst Du das im Skript so: use CGI qw/:all/; # einbinden des CGI Moduls my $variable1 = param('var1'); # mittels der Funktion param den entsprechenden wert/variable einlesen my $variable2 = param('var2'); my $variablen = param('varN'); Auf Kommandozeilen-Ebene sollte es so funktionieren: perl scriptname.pl -wert1 -wert2 -wert3 Die Übergebenen Werte stehen dann in dem Array $ARG{...}.. oder $ARGV.. da bin ich mir nicht mehr soo sicher.
7. Februar 200223 j Hab nochmal nachgeschlagen,.. die übergebenen Kommandozeilen Parameter stehen in @ARGV.
7. Februar 200223 j ja, das stimmt, das hätt ich Dir auch ohne Nachzuschlagen sagen können. Sei's drum. Die, wie ich finde schönste Möglichkeit das auszuwerten ist folgende: while ($#ARGV > -1) { $CMDLINE = shift @ARGV; if ($CMDLINE eq "/a") { $A = shift @ARGV; } elsif ($CMDLINE eq "/b") { $B = shift @ARGV; } elsif ($CMDLINE eq "/c") { $C = shift @ARGV; } . . . else { print STDERR "invalid cmdline arg... usage: $0 /a <a> /b <b>/c <c> ..." } } Dann noch $A $B $C ... auf Gültigkeit testen und fertig ist der Lack... ZäR
7. Februar 200223 j Sorry, Streiche: print STDERR "invalid cmdline arg... usage: $0 /a <a> /b <b>/c <c> ..." Setze: print STDERR "invalid cmdline arg... usage: $0 /a <a> /b <b>/c <c> ...";
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.