stoner66 Geschrieben 17. September 2001 Geschrieben 17. September 2001 Wie kann man beim Aufruf eines Perl-Scriptes Parameter übergeben bzw. diese ausfangen. Ich möchte meinem Programm einen Parameter mitgeben. z.B. perl -w programm.pl -parameter Ich hab allerdings keine Info dazu gefunden. Bestimmt kann mir hier jemand weiterhelfen!? :confused: <FONT COLOR="#a62a2a" SIZE="1">[ 17. September 2001 11:45: Beitrag 1 mal editiert, zuletzt von stoner66 ]</font> Zitieren
BigMac Geschrieben 17. September 2001 Geschrieben 17. September 2001 Rufst Du das Skript nur über die Konsole (z.B. Telnet, SSH) auf, oder auch über den Browser? Wenn Du ein Skript mittels Browser aufrufst, kannst Du Variablen in folgender Form übermitteln... [url="http://www.name.de/cgi-bin/skript.pl?variable1=wert&variable2=wert&variableN=wert"]http://www.name.de/cgi-bin/skript.pl?variable1=wert&variable2=wert&variableN=wert[/url] Einlesen kannst Du diese Werte dann mittels dem CGI-Modul und dem Befehl "param"... my $variable1 = param(variable1); my $variable2 = param(variable2); my $variableN = param(variableN); Zitieren
stoner66 Geschrieben 17. September 2001 Autor Geschrieben 17. September 2001 Ich ruf das Programm nur per Konsole auf. Wie kann ich dann ne Usage besteln? So my $variable1 = param(variable1); if ($variable1 eq '-h') { print("Usage: -x xyz"); } elsif ($variable1 eq '-x') { #tu dies und das } Oder gibt es da noch andere Möglichkeiten!? Zitieren
BigMac Geschrieben 17. September 2001 Geschrieben 17. September 2001 Jo,.. so könntest das basteln... aber wenn Du das Skript über die Konsole aufrufst, kannst Du auf diese Weise keine Veriablen übergeben... und Parameter auch nicht... ich hab sowas auch mal versucht,.. bin aber zu keinem vernünftigem Ergebnis gekommen. Zitieren
stoner66 Geschrieben 17. September 2001 Autor Geschrieben 17. September 2001 Ich bin da auch nicht weiter gekommen :mad: Es muss da wohl eine andere Möglichkeit geben... Zitieren
alligator Geschrieben 17. September 2001 Geschrieben 17. September 2001 Hi Leute. Also wenn du ein Programm so Aufrufst: perl DeinProgramm.pl DeineParameter Dann stehen diese Parameter in der Umgebungsvariable @ARGV (achtung case sensitiv). Wenn du nun das Script DeinProgramm.pl die Ausgabe print $ARGV[0]; machst, dann müssten deine eingegebenen Parameter angezeigt werden bis zum ersten "blank". $ARGV[1] dann wieder bir zum nächsten "blank". Also das heisst, dass jedes Leerzeichen bei der Parameterübergabe ein neues Feld erzeugt. Ich hoffe das war das Problem Falls nicht, dann hab irgendwwas falsch verstanden :eek: :confused: cu alligator 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.