Et voici un problème qui me fait m'arracher les cheveux de la tête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
@strings = ... #un tableau contenant des chaînes de caractères
 
$nb_occurences = 0;
for(@strings) {
  # Recherche sur la chaîne courante
  $_ =~ /.../;
  if ($& ne "") {$nb_occurences++);
}
Supposons que la 1ère chaîne contient ce qu'on recherche. La variable $&
est donc significative. Le problème est que $& restera inchangée MÊME en
cas de recherche infructueuse par la suite (au lieu d'être remise à zéro) !!!!

On se retrouve donc avec une valeur erronée pour $nb_occurences.
Comment contourner ce problème ATROCE (bien que sans doute très connu)
et qui me fait penser que PERL est un langage aussi détestable que je le craignais.