Perl/Réseau HELP !

Fermé
Anne Onyme - 31 mars 2009 à 09:54
squall289 Messages postés 98 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 29 mai 2009 - 31 mars 2009 à 10:27
Bonjour,

Je suis novice en Perl, et cela fait 3 jours que je suis sur le même problème, à savoir :

J'ai créé un script en perl de connexion Telnet à un équipement réseau, qui exécute une commande.
La réponse de cette commande telnet est stockée dans une variable.

Maintenant, je veux récupérer la fin de cette réponse, à savoir un nombre et je lutte depuis entre les split etc...

Ci-joint le code :

use Net::Telnet;
$telnet = new Net::Telnet ( Timeout=>5, Errmode=>'die', Prompt=> '/>/');
$telnet->open('ip address');
$telnet->waitfor('/login : $/i');
$telnet->print('toto');
$telnet->waitfor('/password : $/i');
$telnet->print('titi');
$telnet->waitfor('prompt $/i');
@output = $telnet->cmd("show mac-address-table count"); # Commande exécutée sur le device
$telnet->close;

$result1 = @output[-2]; # Récupération de l'avant dernière ligne contenant le nombre de Mac @
print $result1;


Cela donne :

Total MAC Address In Use = 21


Finalement, je voudrais que mon scipt me renvoie 21 uniquement,
et non pas Total MAC Address In Use = 21

Please HELP !

2 réponses

Bonjour,
tu peux essayer de faire un split sur le "=" si toutes tes réponses sont pareils.
Donc : @tab=split(/\=/,$result1);
ce qui devrait te donner $tab[0]= "Total MAC Address In Use"
et $tab[1]= 21
Tu ne renvoi ensuite que $tab[1].
A vérifier cependant, mais il me semble que les tableau Perl peuvent contenir plusieurs types différents.
0
HAAAA !

Merci l'ami :)
C'est bon !
Depuis le temps que je cherche ! J'ai pourtant parcouru un grand nombre de forums, sites de cours de perl etc...
Mais cela restait assez vague pour moi.

Merci encore
0
squall289 Messages postés 98 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 29 mai 2009 13
31 mars 2009 à 10:27
Pas de soucis ^^
(oui c'est la même personne, j'me suis inscris donc changé de pseudo).
Bonne continuation !
0