[Perl]-Lancer une commande interactive

Résolu
blux Messages postés 27166 Date d'inscription   Statut Modérateur Dernière intervention   -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

comment lancer une commande interactive unix sous perl et récupérer les résultats dans une variable ?

En shell, je fais un truc comme ça :
$RESUOK=`toto <<fin 2>&1
show a
print w
quit
fin`;
Mais en perl ?

Merci d'avance.

6 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

La syntaxe et la suivante
$variable = qx /commande/;
ou
$variable = `commande`
0
blux Messages postés 27166 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
et je sépare comment les différentes réponses ? avec un saut de ligne comme en shell ?
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
J'aimerai bien que tu m'expliques ce que fait ta commande en shell pour pouvoir te donner une réponse exacte ;-)
0
blux Messages postés 27166 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
J'appelle toto, mais c'est une commande interactive, elle attend des actions de ma part, donc je les mets à la ligne les unes par rapport aux autres, mais en ayant dit au shell que les commandes sont à lire dans le pseudo-fichier d'entrée nommé fin.

Ca pourrait donner un truc comme ça :

root#toto
toto>show a
toto>a to be shown
toto>print w
w=12
a=15
toto>quit
root#
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 27166 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
J'avais pas testé mais ça marche pareil qu'en shell ! :-)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Justement j'étais en train de me demander, pourquoi tu n'as pas essayé ;-)
Tant mieux que ça marche ;-)

Tu peux mettre résolu ;-))
0