Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6342[/thread]

perl script mit parametern starten

Leser: 1


<< >> 10 Einträge, 1 Seite
kerstenk
 2004-06-17 01:35
#83502 #83502
User since
2004-06-17
5 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe da mal eine Frage. Wie kann ich mein perl-script mit Parametern starten?

Beispiel:

./testscript.pl /var/www/index.html

im Script möchte ich dann den String /var/www/index.hmtl benutzen können.

Wie bekomme ich das nun so hin?

mfg und schnmal danke cu kersten
Gast Gast
 2004-06-17 01:46
#83503 #83503
perldoc perlvar
Crian
 2004-06-17 02:09
#83504 #83504
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Du kannst im Perlprogramm auf die Parameter zugreifen. Diese befinden sich im Array @ARGV.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
BungeeBug
 2004-06-17 14:44
#83505 #83505
User since
2004-03-16
54 Artikel
BenutzerIn
[default_avatar]
Wobei
Code (perl): (dl )
@ARGV[0]


Der Programmname ist.
MfG
BungeeBug
ptk
 2004-06-17 14:56
#83506 #83506
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das stimmt erst einmal nicht (das hier ist Perl, nicht C): der Programmname befindet sich in $0. Ausserdem schreibt man den Ausdruck besser als $ARGV[0].
kerstenk
 2004-06-17 17:30
#83507 #83507
User since
2004-06-17
5 Artikel
BenutzerIn
[default_avatar]
Hi,

danke das funktioniert super, aber wie kriege ich das nun hin, das ich z.B. ein Script so starte: ./test.pl -u kerstenk -d /var/www/

ich möchte dann im script die variablen u und d haben mit den jeweiligen Inhalten. Geht das auch so, oder funktioniert das anders?

mfg Kersten
Gast Gast
 2004-06-17 17:37
#83508 #83508
Lies mal alles nach was Du unter den Begriffen
exec()
oder
system()
findest.
ptk
 2004-06-17 17:41
#83509 #83509
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Guck mal bei Getopt::Long nach.
sri
 2004-06-17 17:42
#83510 #83510
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=kerstenk,17.06.2004, 15:30]Hi,

danke das funktioniert super, aber wie kriege ich das nun hin, das ich z.B. ein Script so starte: ./test.pl -u kerstenk -d /var/www/

ich möchte dann im script die variablen u und d haben mit den jeweiligen Inhalten. Geht das auch so, oder funktioniert das anders?

mfg Kersten[/quote]
Ignorier Dieter und liess folgendes:

perldoc Getopt::Std
perldoc Getopt::Long
Crian
 2004-06-18 03:22
#83511 #83511
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Dieter hatte bestimmt verstanden, dass das Skript auf die angegebene Art und Weise  aus dem Perl-Programm heraus gestartet werden soll. Da wäre die Antwort schon ok.

Ich denke aber, dass gemeint war, wie man die Parameter des Perlskripts im Inneren elegant abarbeitet. Und da sind die Antworten von ptk und sri genau richtig. Persönlich bin ich bisher immer mit Getopt::Std ausgekommen, aber es ist immer gut, auch über Getopt::Long bescheid zu wissen.

edit renee: Modulnamen verbessert\n\n

<!--EDIT|renee|1087535834-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 10 Einträge, 1 Seite



View all threads created 2004-06-17 01:35.