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.

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
     }
}
le type de ligne que je parcourt est du type
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