OVH Cloud OVH Cloud

récupérer les données en paramètre

5 réponses
Avatar
Paul
Bonjour,


je souhaite r=E9cup=E9rer les donn=E9es qui sont pass=E9es en param=E8tre.
Ex :=20

j'aimerais lancer mon script comme suit : perl monScript.pl -u user -p
monPassword -o /home/monUser/monDossier/toto.html

et ainsi r=E9cup=E9rer des variables tels que :

$u =3D "user"
$p =3D "monPassword"
$o =3D "/home/monUser/monDossier/toto.html"

Et cela, m=EAme si on intervertit les param=E8tres (-o avant -u par exemple)

si je n'ai pas de r=E9ponse, je le ferais avec des RegExp, mais i vous
avez une solution, je suis prenneur.

Merci =E0 tous.

Paul

5 réponses

Avatar
Benoit Izac
Bonjour,

le 25/09/2004 à 12:12, Paul a écrit
dans le message :

je souhaite récupérer les données qui sont passées en paramètre.
Ex :

j'aimerais lancer mon script comme suit : perl monScript.pl -u user -p
monPassword -o /home/monUser/monDossier/toto.html

et ainsi récupérer des variables tels que :

$u = "user"
$p = "monPassword"
$o = "/home/monUser/monDossier/toto.html"

Et cela, même si on intervertit les paramètres (-o avant -u par exemple)


perldoc Getopt::Std
et éventuellement Getopt::Long

--
Benoit Izac

Avatar
Jérémy JUST
On Sat, 25 Sep 2004 12:12:42 +0200
Paul <ernond_paul_at_yahoo.fr> wrote:

si je n'ai pas de réponse, je le ferais avec des RegExp, mais i vous
avez une solution, je suis prenneur.


Regarde du côté de Getopt::Std et Getopt::Long.

Mais entre nous, ces modules ne m'ont jamais satisfait entièrement, à
chaque fois que je m'en suis servi, j'ai dû ruser pour faire accepter
certaines syntaxes, et bien souvent j'utilise quelques regexps bien
senties pour arriver à ce que je veux.

--
Jérémy JUST

Avatar
Paul
Merci à vous deux pour votre réponse assez identique..

(et désolé pour mon double Post.)




Le Sat, 25 Sep 2004 12:12:42 +0200
Paul <ernond_paul_at_yahoo.fr> vous écriviez :

Bonjour,


je souhaite récupérer les données qui sont passées en paramètre.
Ex :

j'aimerais lancer mon script comme suit : perl monScript.pl -u user -p
monPassword -o /home/monUser/monDossier/toto.html

et ainsi récupérer des variables tels que :

$u = "user"
$p = "monPassword"
$o = "/home/monUser/monDossier/toto.html"

Et cela, même si on intervertit les paramètres (-o avant -u par
exemple)

si je n'ai pas de réponse, je le ferais avec des RegExp, mais i vous
avez une solution, je suis prenneur.

Merci à tous.

Paul


Avatar
Jaypee
Paul wrote:
Bonjour,


je souhaite récupérer les données qui sont passées en paramètre.
Ex :

j'aimerais lancer mon script comme suit : perl monScript.pl -u user -p
monPassword -o /home/monUser/monDossier/toto.html

et ainsi récupérer des variables tels que :

$u = "user"
$p = "monPassword"
$o = "/home/monUser/monDossier/toto.html"

Et cela, même si on intervertit les paramètres (-o avant -u par exemple)

si je n'ai pas de réponse, je le ferais avec des RegExp, mais i vous
avez une solution, je suis prenneur.

Merci à tous.

Paul
Bonjour,


Il y a une méthode un peu plus rustique :
perl -s monScript.pl -u=user -p=password
-o=/home:monUser/monDossier/toto.html

Et qui se comporte ensuite comme décrit.

J-P

Avatar
Yoann Wyffels
Bonjour,

Au lieu de passer par un module, vous pouvez alléger cette tâche en
récupérant simplement les valeurs contenu dans @ARGV qui est le tableau des
arguments passés en ligne de commande...
$u=$ARGV[0];
$p=ARGV[1];

.....



"Paul" <ernond_paul_at_yahoo.fr> a écrit dans le message de
news:
Bonjour,


je souhaite récupérer les données qui sont passées en paramètre.
Ex :

j'aimerais lancer mon script comme suit : perl monScript.pl -u user -p
monPassword -o /home/monUser/monDossier/toto.html

et ainsi récupérer des variables tels que :

$u = "user"
$p = "monPassword"
$o = "/home/monUser/monDossier/toto.html"

Et cela, même si on intervertit les paramètres (-o avant -u par exemple)

si je n'ai pas de réponse, je le ferais avec des RegExp, mais i vous
avez une solution, je suis prenneur.

Merci à tous.

Paul