Bonjour,
J'ai un script appelant.pl qui lance le script appel.pl
Je veux récupérer dans appelant.pl une variable qui sera valorisée dans appel.pl
Comment dois-je faire?
Merci de vos réponses
Bonjour,
J'ai un script appelant.pl qui lance le script appel.pl
Je veux récupérer dans appelant.pl une variable qui sera valorisée dans appel.pl
Comment dois-je faire?
Merci de vos réponses
il n'est pas possible d'intégrer le 2è script dans le premier ?
sinon, est-ce que le 2è script écrit quelque chose ?
sinon, tu peux essayer d'écrire ta valeur en fin de scriptou utiliser les variables partagées (threads::shared si je me souviens bien, mais ça a pu évoluer depuis la dernière fois que j'ai eu à l'utiliser)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #appel print $ma_valeur; #appelant my $sortie = `perl appel.pl some_parameters`;
Comme le dit Gardyen, si tu mets ton appel du script appelé entre backticks (accents graves), alors tu peux récupérer dans une variable (scalaire ou tableau) tout ce que le script appelé écrit normalement sur la sortie standard.
Appel du second script dans l'appelant:
Contenu d'appel.pl:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 my @lignes_generees_par_appel_pl = `perl appel.pl $param`;
Tu récupéreras les deux lignes "toto\n" et "titi\n" dans le tableau @lignes_generees_par_appel_pl.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 # ... print "toto\n"; print "titi\n"; # ...
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Bonjour,
Merci de vos réponses
Est-ce que cela marche aussi avec le script appelé en shell et l'appelant en Perl?
Merci
Oui, tu récupèreras ce qu'écrit le script shell sur la sortie standard:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $ perl -e 'my $c = `echo "toto"`; print "Valeur de la var " . q/$c/ . " = $c";' Valeur de la var $c = toto
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Partager