Perl/Réseau HELP !

Anne Onyme -  
squall289 Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   -
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

sqwall
 
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
Anne Onyme
 
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 100 Date d'inscription   Statut Membre Dernière intervention   13
 
Pas de soucis ^^
(oui c'est la même personne, j'me suis inscris donc changé de pseudo).
Bonne continuation !
0