bozoo Geschrieben 7. Februar 2002 Geschrieben 7. Februar 2002 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. Zitieren
BigMac Geschrieben 7. Februar 2002 Geschrieben 7. Februar 2002 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. Zitieren
BigMac Geschrieben 7. Februar 2002 Geschrieben 7. Februar 2002 Hab nochmal nachgeschlagen,.. die übergebenen Kommandozeilen Parameter stehen in @ARGV. Zitieren
Wasi Geschrieben 7. Februar 2002 Geschrieben 7. Februar 2002 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 Zitieren
Wasi Geschrieben 7. Februar 2002 Geschrieben 7. Februar 2002 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> ..."; Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.