Exécution d'un script via un autre script

Exécution d'un script via un autre script - Perl - Programmation

Marsh Posté le 17-04-2015 à 14:31:38    

Bonjour,
 
J'aurais aimé savoir comment exécuter un script depuis un autre script.
 
Exemple:
 
J'ai un script "script1.pl". Depuis celui-ci je voudrais exécuter "script2.pl".
 
Quelle est la commande d'exécution svp ?
 
Merci d'avance.

Reply

Marsh Posté le 17-04-2015 à 14:31:38   

Reply

Marsh Posté le 17-04-2015 à 14:36:48    

Je pense avoir trouvé.
 
Dans script1.pl, il suffit d'appeler l'autre script via la commande system.
 
system script2.pl;

Reply

Marsh Posté le 17-04-2015 à 15:33:46    

Par contre est-il possible de récupérer un paramètre passer par un script dans un autre script ?
 
Exemple:
 
Si je lance le script1.pl avec comme paramètre "test".
-> script1.pl test
 
Est-il possible de récupérer dans une variable le paramètre "test" dans le script2.pl ?

Reply

Marsh Posté le 17-04-2015 à 16:27:42    

Tu définis le premier script comme un module monmodule.pm, et tu fais un appel à ce module avec une ligne use monmodule; au début du second.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 17-04-2015 à 17:17:44    

Je ne peux pas modifier les extension des scripts.
Les scripts sont déjà existant et en place.
 
Il n'y pas une autre méthode ?

Reply

Marsh Posté le 17-04-2015 à 18:24:11    

system, ou bien les back-quotes `script1.pl test` ou qx{script1.pl test}
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 17-04-2015 à 18:39:24    

coolkis a écrit :

Est-il possible de récupérer dans une variable le paramètre "test" dans le script2.pl ?


my $a = "test";
qx{script1.pl $a}  
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed