Bonjour tout le monde,
Je viens vers vous car j'ai un petit soucis d'expression régulière, j'ai un script perl qui convertit un mutt en vcard. J'utilise des expressions régulières pour tester mes lignes. Si dans mes lignes j'ai seulement des espaces tous fonctionne correctement je récupère bien mes infos. Le problème c'est si j'ai une tabulation entre 2 mots je n'arrive pas a le détecter et ma ligne et alors ignorer.
Mon code est le suivant.
le type de ligne que je parcourt est du type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 while(<READ>){ if(m/^alias\s+(\S+)\s+(\S+)\s+<(.*)>/){ print "OK TAB "; }elsif (m/^alias ([^\s]*) (.*) (<.*>)/) { print "OK NO TAB"; //ce test fonctionne correctement } }
alias toto tata <toto.tata@mail.com> //ligne sans tabulation
alias test test <test.test@test.com> //cette ligne comporte une tabulation
Si quelqu'un aurait une petite idée
Merci
Partager