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:

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......
 }
}
Y a-t-il un moyen d'effacer le contenu des $1 $2 avant ma deuxième regexp?
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!