Perl & Telnet

Résolu
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -  
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je rédige actuellement un script en Perl qui permettra de me connecter à un switch en Telnet.
La connexion se passe très bien.
$t = new Net::Telnet (Timeout => 3000,ErrMode => 'return', Prompt => $prompt);
$t->open(Host=>$server);

j'essaie ensuite de passer cette commande
@lines = $t->cmd(String =>"ippstat list all");

Le problème est que je n'arrive pas à récupérer la totalité du résutat...
En gros @lines va contenir uniquement 500 lignes au lieu des 4000 qui sont renvoyées si je tape cette commande en dehors du script...

Quelqu'un saurait-il pourquoi ?
Est-ce une question de buffer ? Et si oui comment y remédier ?

Me bible actuelle est celle la, si vous en connaissez d'autres...

Merci d'avance,

Vindicien
A voir également:

5 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
si c'est un Cisco, pour qu'IOS n'arrête pas l'affichage en "fin d'écran", il faut entrer
set term length 0
essaye, peut-être que ...
0
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   33
 
Salut salut !!

Merci de venir à ma rescousse !! Malheureusement c'est pas du Cisco c'est de l'Alcatel... Mais je vais creuser dans ce sens, en effet c'est possible que la problème vienne de là !!
Ce qui est bizarre c'est que la commande déconne uniquement dans le script...

Enfin merci pour cette piste dubcek !!!

Bonne journée
0
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   33
 
Je n'arrive toujours pas à solutionner ce problème...
D'autres idées messieurs dames ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
augmenter la taille du buffer ?
max_buffer_length - maximum size of input buffer
$len = $obj->max_buffer_length;
$prev = $obj->max_buffer_length($len);
This method designates the maximum size of the input buffer.
0

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

Posez votre question
vindicien Messages postés 131 Date d'inscription   Statut Membre Dernière intervention   33
 
Merci pour ton aide dubcek !

Au final j'ai préféré utiliser un script en shell avec des expect. Il m'a fallu quelques minutes pour réaliser le script dont j'avais besoin. Je vais en rester la puis je reviendrai sur ce problème en Perl dès que j'ai un peu de temps à perdre.

J'en profiterai pour tester ta méthode pour la taille du buffer et te donnerai des nouvelles !

Bonne journée,

Vind'
0