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

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Récupérer valeur d'un programme Perl dans un batch

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] Récupérer valeur d'un programme Perl dans un batch

n°1497204
sephiburp
Posté le 29-12-2006 à 19:04:00  profilanswer
 

Bonjour,
 
J'ai un script "appel.bat" qui appelle un programme Perl "pgm.pl".
 
J'aimerais pouvoir récupérer, dans "appel.bat", des valeurs générées par "pgm.pl".
 
Dans l'autre sens, çà ne pose pas de problème. C'est-à-dire :
Dans "appel.bat" j'appelle le programme Perl en passant une variable VAR1 :
C:\Perl\bin\perl.exe "C:\pgm.pl" %VAR1%
et dans le "pgm.pl", on peut récupérer la valeur de VAR1 en utilisant la variable $ARGV[0]
 
Mais ceci ne marche pas pour passer une valeur de "pgm.pl" au batch "appel.bat". Voici ce que j'ai essayé :
 
Dans "appel.bat" :

Code :
  1. C:\Perl\bin\perl.exe "C:\pgm.pl" %VAR1%
  2.      echo %VAR1%


 
Dans "pgm.pl" :

Code :
  1. $ARGV[0]="coucou";


 
 
Mais dans "appel.bat", la variable %VAR1% reste vide.
 
 
Une solution serait de passer par un fichier mais çà me convient pas car je fais des print dans le "pgm.pl" arf.gif
 
 
Quelqu'un a une idée svp ??

mood
Publicité
Posté le 29-12-2006 à 19:04:00  profilanswer
 

n°1519221
dreameddea​th
Posté le 23-02-2007 à 23:21:43  profilanswer
 

$ARG[0] ne permet pas de modifier le parametère de la ligne de commande qui a appelé la commande perl.
 
En effet, au moment d'entrer dans le script perl, le shell windows a déjà remplacé %VAR1% par sa valeur. Donc si celle ci vaut "TOTO", alors ça revient strictement à appeler  
 

Code :
  1. C:\Perl\bin\perl.exe "C:\pgm.pl" TOTO


 
et donc là, il devient évident que $ARGV[0] ne fait pas ce qui est excompté.
 
Sinon, un moyen simple de mettre quelque chose dans VAR1 c'est de mettre dans le perl
 

Code :
  1. $ENV{"VAR1"}="coucou";


 
A essayer...


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

  [Perl] Récupérer valeur d'un programme Perl dans un batch

 

Sujets relatifs
rm -rf en batch sur windows 2000?PERL : script appelé par 1 autre ne fonctionne pas alors que seul oui
[shell/batch] quelle commande utiliser ?perl et l'export d'une varible d'environement
comment tricher dans un FORM grace au PHP ??? envoi d'une valeur ?valeur par defaut dans une combobox en html
ACCESS : Ajouter une valeur au début d'une liste déroulantetrace programme
[Résolu ] [Cobol et JCL] Paramètre d'un programme 
Plus de sujets relatifs à : [Perl] Récupérer valeur d'un programme Perl dans un batch


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