Récupérer valeur d'un programme Perl dans un batch [Perl] - Perl - Programmation
Marsh Posté le 23-02-2007 à 23:21:43
$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 :
|
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 :
|
A essayer...
Marsh Posté le 29-12-2006 à 19:04:00
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" :
Dans "pgm.pl" :
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 ??