Bonjours a tous.
Mon objectif et d'extraire les adresse et nom de reseaux conetnue dans un fichier dns.
J'utilise donc des expressions régulière mais cela fait 3 semaine au plus que j'ais découvert le perl et j'ais beaucoup de mal avec la syntaxe de ces expression(je ne suis pas un bébé unix)
Voici un exemple de ligne que j'aimerais bien traiter :
;*** 172.21.X.X reseau1
;*** 172.21.250.0 wifi1
Voici mon code pour filtrer le fichier
Je veut ensuite mettre les deux chaines adresse et nom de reseau dans un fichier et séparer les deux par un ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #si la ligne est du type : '<;***---2espaces ou plus---chaîne de caractére---1 a 4 espaces-chaines de caractére> if($lines =~ /[;***]+\s{2,}+[a-zA-Z0-9]+\s{1,4}+[a-zA-Z0-9]/)
A l'execution j'ai droit a un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #on retire les espaces et les ;*** et on remplace l'espace entre les chaînes de caractére par ; $lines=~ /[a-zA-Z0-9^;]+[;]+[a-zA-Z0-9]/g;
Nested quantifiers in regex; marked by <-- HERE in m/[;***]+\s{2,}+ <-- HERE [a-zA-Z0-9^;]+\s{1,4}+[a-zA-Z0-9^;]/ at DNS_Analyser.network.pl line 12.
Merci d'avance !
Partager