récupérer les variables d'un batch dans Perl ?
Bon, tout d'abord je suis grand débutant en programmation, quelle qu'elle soit.
J'ai fait plusieurs types de recherches sur internet, consulté les forums, mais ne trouve pas de similitude dans les réponses à mon cas précis... Ou bien je ne sais pas les mettre en œuvre.
Merci donc d'éviter les remarques humiliantes style "trouvé en 5 secondes dans google, 1er résultat".
On m'a donné un script Perl dont les diverses variables sont appelées en arguments lors de l'appel du script.
J'ai bien compris que le script Perl récupérait les données via un truc du style $ARGV...
Mon problème : pour simplifier un peu la chose, j'ai fait un fichier batch qui pose des questions pour récupérer les diverses variables, ce qui est plus "user friendly". Après avoir récupéré toutes les variables je balance un appel du script en mettant les arguments ainsi récupérés.
Ça, ça marche très bien.
Le truc c'est que cela oblige à avoir 2 fichiers : un .bat et un .pl
J'ai appris qu'il était possible d'insérer le code Perl directement dans un batch.
Sauf que du coup je ne fais pas d'appel du script à proprement parler, et je ne sais pas comment récupérer mes variables entrées via le batch dans la partie "Perl".
Mes recherches m'ont un peu conduit vers les variables d'environnement, mais sans succès.
Pour que cela soit didactique pour les gens qui pourraient avoir la même question, je pense que l'on peut illustrer cela avec un "hello world"
Code:
1 2 3 4 5 6 7 8
|
#on définit la variable
set variable=hello world
#on indique que ce qui va suivre est du Perl
@CD/d"%~dp0"&perl -s "%~nx0" %*&Exit/b&:';
#Le script perl commence ci-dessous
print 'variable' |
La question est : comment récupère t'on la variable déclarée dans le batch ?
Par ailleurs si quelqu'un sait comment faire pour éviter que la fenêtre de commande ne se ferme automatiquement... J'ai essayé la commande pause en fin de script, malheureusement elle se trouve dans ce qui est censé être du Perl et est inopérante...
Merci d'avance.