Bonjour.
J'utilise pas mal les regexp dans un de mes scripts, et le problème c'est que perl se mélange les pinceaux entre mes différents parenthésages.
Je m'explique:
J'utilise une première regexp avec parenthésage, je récupère ce que je veux dans $1 et $2, je range leurs contenus dans deux variables.
Plus loin dans le même script j'utilise une autre regexp avec parenthésage, et là... je ne récupère pas toujours ce que je veux dans $1 et $2... Des fois c'est bon, et des fois c'est ce qu'il y avait avant (le résultat de la première regexp)... J'ai essayé de réinitialiser $1 et $2 avant, mais perl ne veut pas...
Voici une partie de mon code:
Y a-t-il un moyen d'effacer le contenu des $1 $2 avant ma deuxième regexp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 while (<FICHIER<){ $nom_prenom =~ /^([A-Z]*)\s([A-Z][a-z]*)/o; $nom = $1; $prenoms = $2; #jusque là ça va /(.*)(\d{1,2}\s\d\d\s\d\d\d\d)\s{0,}$/o; if(defined $2){ $date = $2; # là ça va plus.... des fois c'est bien, des fois $2 vaut $prenoms # et du coup j'ai le prénom dans la date...... } }
Je n'ai pas identifié ce qui faisait que des fois il faisait bien et des fois pas bien... Ca m'a l'air aléatoire...
Merci de votre aide!
Partager