Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1528 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  e voudrais lancer plusieurs script Perl à partir d'un autre script Per

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

e voudrais lancer plusieurs script Perl à partir d'un autre script Per

n°2266674
Henri772
Posté le 29-09-2015 à 14:00:41  profilanswer
 

Bonjour a tous,
j'ai plusieurs Perl-Script que je voudrais appeler à partir d'un autre script Perl.
les scripts doivent être exécutés dans l'ordre ci dessous.
 
chaque script Perl a un paramètre d'entrée
 
1-script1.pl a comme paramètres d'entrée: perl script1.pl default.xml * .xml
2-script2.pl a comme paramètres d'entrée: perl script2.pl data.csv
3-script3.pl a comme paramètres d'entrée: perl script3.pl data.csv
4-script4.pl a comme paramètres d'entrée: perl script4.pl data.csv
5-script5.pl a comme paramètres d'entrée: perl script5.pl data.csv
6-script6.pl a comme paramètres d'entrée: perl script6.pl default.xml default.xml
7-script7.pl a comme paramètres d'entrée: perl script7.pl data2.csv default.csv
 
S'il vous plaît quelqu'un peut-il m'aider a résoudre ce probleme?
 
tous mes remercierments

mood
Publicité
Posté le 29-09-2015 à 14:00:41  profilanswer
 

n°2266676
gilou
Modérateur
Modzilla
Posté le 29-09-2015 à 15:22:35  profilanswer
 

Pour appeller un autre script dans un script, une des techniques possibles est la suivante:

Code :
  1. use strict;
  2. use warnings;
  3.  
  4. do {
  5.    local @ARGV;
  6.  
  7.    @ARGV = ("Hello", "World!" );
  8.    eval { require "un_autre_script.pl" };
  9. };


 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2266679
Henri772
Posté le 29-09-2015 à 16:12:31  profilanswer
 

gilou a écrit :

Pour appeller un autre script dans un script, une des techniques possibles est la suivante:

Code :
  1. use strict;
  2. use warnings;
  3.  
  4. do {
  5.    local @ARGV;
  6.  
  7.    @ARGV = ("Hello", "World!" );
  8.    eval { require "un_autre_script.pl" };
  9. };
 

A+,

 


es ce que je peus me permettre donc de traiter mon probleme de la sorte

Code :
  1. use strict;
  2.    use warnings;
  3.    
  4.    do {
  5.        local @ARGV;
  6.    
  7.        @ARGV = ("default.xml", "*.xml",  "data.csv", "data2.csv", "default.csv" );
  8.        eval { require "script1.pl", "script2.pl", "script3.pl", "script4.pl", "script5.pl", "script6.pl", "script7.pl" };
  9.    };
 

et a chaque fois aller sur perl-editor taper les parametres entree

 


Message édité par Henri772 le 29-09-2015 à 16:13:26
n°2266684
gilou
Modérateur
Modzilla
Posté le 29-09-2015 à 17:10:49  profilanswer
 

Non, il faut que tu fasse le boulot a chaque fois:
@ARGV = ("default.xml", "*.xml" );
eval { require "script1.pl" };
@ARGV = ("data.csv" );
eval { require "script2.pl" };
etc.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2266688
gilou
Modérateur
Modzilla
Posté le 29-09-2015 à 17:31:29  profilanswer
 

A la limite, tu peux faire un truc comme ceci je pense:
 

Code :
  1. my @scripts = (
  2.            { file => "script1.pl", args => ["default.xml", "*.xml"] },
  3.            { file => "script2.pl", args => ["data.csv"] },
  4.            # ...
  5.           );
  6.  
  7. foreach (@scripts) {
  8.  local @ARGV = @{$_->{args}};
  9.  eval { require "$_->{file}" };
  10. }


Pas testé, donc SGDG
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2266877
Henri772
Posté le 01-10-2015 à 13:58:42  profilanswer
 

gilou a écrit :

A la limite, tu peux faire un truc comme ceci je pense:
 

Code :
  1. my @scripts = (
  2.            { file => "script1.pl", args => ["default.xml", "*.xml"] },
  3.            { file => "script2.pl", args => ["data.csv"] },
  4.            # ...
  5.           );
  6.  
  7. foreach (@scripts) {
  8.  local @ARGV = @{$_->{args}};
  9.  eval { require "$_->{file}" };
  10. }


Pas testé, donc SGDG
 
A+,


 
Merci bien de ta proposition Gilou
ca veut dire au finish j'ai un script du genre  
 

Code :
  1. my @scripts = (
  2.               { file => "script1.pl", args => ["default.xml", "*.xml"] },
  3.               { file => "script2.pl", args => ["data.csv"] },
  4.               { file => "script3.pl", args => ["data.csv"] },
  5.                { file => "script4.pl", args => ["data.csv"] },
  6.                { file => "script5.pl", args => ["data.csv"] },
  7.                { file => "script6.pl", args => ["default.xml", "default.xml"] },
  8.                { file => "script7.pl", args => ["data2.csv", "default.csv"] },  
  9.              );
  10.    
  11. foreach (@scripts) {
  12.    local @ARGV = @{$_->{args}};
  13.   eval { require "$_->{file}" };
  14. }


je me pose la question a savoir que vais je taper dans mon perl commando-line  
si je voudrai par exemple executer le script1.pl
disons si j'appele le script tout en haut main.pl
quand je tape dans perl commando-line : perl main.pl default.xml  *.xml malheureusement il ne fonctionne pas.


Message édité par Henri772 le 01-10-2015 à 14:00:49
n°2266940
gilou
Modérateur
Modzilla
Posté le 02-10-2015 à 12:47:49  profilanswer
 

> perl main.pl default.xml  *.xml malheureusement il ne fonctionne pas.
1) qu'est ce que le default.xml vient faire ici?
2) "il ne fonctionne pas" et moi, avec une description aussi explicite de ce qui se passe, c'est sur que j'ai envie d'en chercher la raison [:cerveau pfff]  
 
A+,
 
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2266999
Henri772
Posté le 03-10-2015 à 18:04:17  profilanswer
 

gilou a écrit :

> perl main.pl default.xml  *.xml malheureusement il ne fonctionne pas.
1) qu'est ce que le default.xml vient faire ici?
2) "il ne fonctionne pas" et moi, avec une description aussi explicite de ce qui se passe, c'est sur que j'ai envie d'en chercher la raison [:cerveau pfff]  
 
A+,
 
 


 
Gilou,  
pas de sourci je l'ai resolu, merci bien une fois de plus


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  e voudrais lancer plusieurs script Perl à partir d'un autre script Per

 

Sujets relatifs
script steam big picture + écran secondaireRajout formule dans script
Script de recherche avancée pour téléchargement[Batch] Eteindre les pc de mon reseau a partir d'un fichier texte
[RESOLU] Script php via CronStylish : exclure une page d'un script
Recherche de script - relancer un .exe en cas de crashScript autocaptcha
Lancer une Video en C++Executer script sans la page blanche
Plus de sujets relatifs à : e voudrais lancer plusieurs script Perl à partir d'un autre script Per


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR