perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 33
Click for quality!




10.02.2012 / 10:12

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragPerlaufruf mit ?
Seitenanfang
Hi Leute,

ich bin noch relativ neu hier. Vielleicht wurde das Thema auch schon behandelt, nur das Forum ist mittlerweile so groß, dass ich den Überblick verloren habe.

Hier meine Frage:

ich würde gern ein Perl script aufrufen mit
perl test.pl und gleich beim Aufruf was übergeben z.B.
perl test.pl?variable=wert&usw.

Allerdings regt sich der Perl interpretor auf, dass er das Script nicht kennt und das es in dem Verzeichnis nicht gibt.

Was muss ich tun?

Danke im Vorraus!

MfG
Martin

Datum: 26.03.2007-09:56

Beitragre: Perlaufruf mit ?
Seitenanfang
Natürlich kann das Perlscript nicht gefunden werden, weil "test.pl?variable=wert&usw" wahrscheinlich kein Perscript ist, der Aufruf auf der Kommandozeile sieht anders aus als es bei einen Webserver der Fall ist.


perl [Script] [Argumente]

also z.Bsp.


perl test.pl variable1=wert1 variable2=wert2 variable3=wert3

Das ist der generelle Aufruf zum Debuggen von Scripten die das Modul 'CGI' verwenden, so lässt sich das Script auf den gleichen Weg wie beim Aufruf über den Webserver testen und verwenden.

siehe http://search.cpan.org/~lds/CGI.pm-3.27/CGI.pm#DEBUGGING

Datum: 26.03.2007-14:44

Beitragre: Perlaufruf mit ?
Seitenanfang
Ganz hab ich das noch nicht verstanden, wie kann ich das jetzt verarbeiten Scriptintern.

Danke im Vorraus!

MfG
Olliman

Datum: 30.03.2007-15:36

Beitragre: Perlaufruf mit ?
Seitenanfang
Die Argumente die an dein Skript übergeben werden sind in @ARGV gespeichert.

Möchtest du z.B. obiges verarbeiten könnte das so aussehen:

#!/usr/bin/perl

use strict;

use warnings;

# parameter parsen

my %param;

foreach (@ARGV) {

   my($key, $val) = split('=', $_);

   $param{$key} = $val;

}

# irgendwas mit den prametern veranstalten

print($_, ': ', $param{$_}) foreach keys %param;

Das Skript könntest du dann, wie oben gezeigt aufrufen, Beispiel:

perl test.pl param1=wert1 param2=wert2

- Mike

Datum: 04.04.2007-21:20

-






-
-