[Perl]-Lancer une commande interactive

Résolu
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.

--

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

6 réponses

  1. Modérateur
    Salut,

    La syntaxe et la suivante
    $variable = qx /commande/;
    ou
    $variable = `commande`
    0
    1. Modérateur
      et je sépare comment les différentes réponses ? avec un saut de ligne comme en shell ?
      0
      1. Modérateur
        J'aimerai bien que tu m'expliques ce que fait ta commande en shell pour pouvoir te donner une réponse exacte ;-)
        0
        1. Modérateur
          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
          1. Modérateur
            J'avais pas testé mais ça marche pareil qu'en shell ! :-)
            0
            1. Modérateur
              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