[PERL]Problème Expressions régulières

Résolu/Fermé
Ochman Messages postés 9 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 10 juin 2008 - 10 juin 2008 à 11:58
Ochman Messages postés 9 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 10 juin 2008 - 10 juin 2008 à 13:41
Bonjour,


Je suis en train de réaliser un script d'administration réseau en perl.
Dans ce cadre, je suis amené a effectuer une recherche d'adresses ip dans un listing d'adresses.

je stocke l'adresse ip a rechercher dans la variable $adr_ip
$_ contient la ligne en cours de traitement

voici ma condition pour la recherche :
if ($_ =~ /$adr_ip/i)#on identifie la ligne contenant l'adresse ip releve auparavant
       { 
        
        # traitement de l'information
         

}


problème, lorsque $adr_ip contient 192.168.10.1
la condition est valide pour les valeur 192.168.10.11 ou 192.168.10.122 ou 192.168.10.1XX

il faudrait donc spécifier que je recherche $adr_ip exclusivement suivie d'un espace.

j'ai essayé :
if ($_ =~ /$adr_ip\s$/i)#on identifie la ligne contenant l'adresse ip relevée auparavant
       { 
        
        # traitement de l'information
         

       }

mais sans résultats convaincants (la condition n'est jamais validée)


merci de m'aider ^^


Sébastien


1 réponse

Ochman Messages postés 9 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 10 juin 2008
10 juin 2008 à 13:41
En faitj'ai trouvé la solution sur un autre forum, merci quand même ^^

pour ceux que ça intéresserait,
ça marche impec' avec :


($_ =~ /$adr_ip\b/)







Sébastien
0