Hello,
j'ai besoin d'aide sur la partit où je compare la conf de l'AP à un template
en gros, AP cisco 1600, je me connecte en telnet et j'execute un show run, puis je compare à un template de quelques lignes
excel contient la liste d'ip et recupere les resultats
je coince sur le "like" ou "substring" multi-ligne
m/ ne semble pas s'en sortir dans ce cas
voici le code source réduis là où ça coince
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 if($p->ping($IP)) { print "Ping $IP succes\n"; my $session = Net::Telnet::Cisco->new(Host => $IP) or die "Oops, cannot open $IP"; $session->login('admin', '*****') or die "Oops, cannot connect to $IP"; my @output = $session->cmd('sh run ssid TEST') or die "Oops, cannot execute telnet command"; if ( $output["CMD_INFO"] =~ m/vlan 1/ ) { print "Result: YES\n"; } else { print "Result: NO\n"; } $session->close; } else { print "Ping $IP Fail!\n"; @output = "timeout"; }
En effet si je m/ sur des mots de la premeire ligne du resultat stocké dans @output cela me met YES, mais si je m/ sur un mot en ligne >2 ça mets NO
J'ai cherché pas mal de temps déjà, avec grep ou en substituant le \n par rien... je n'y parvient pas.
Peut etre que vous pourriez m'aider?
merci
cordialement
Julien
Partager