J'utilise =~ (match) pour reperer un motif dans une chaine
Vu que cela ne produisait pas ce que souhaitais, j'ai ecrit un
programme de test qui met
en evidence mon probléme:
-----------------------------------------------------------
use strict;
my $ligne;
my $indice;
my $motif;
my @motif_cherche;
$motif_cherche[0] = "bb";
$motif_cherche[1] = "123";
$motif_cherche[2] = "nnn";
$motif_cherche[3] = "aa";
$motif_cherche[4] = "lkjhg";
$motif_cherche[5] = "bg";
$motif_cherche[6] = "aa";
$motif_cherche[7] = "aa";
$motif_cherche[8] = "nnn";
$ligne = "aa nnn bg kjy lku bb fde 123";
print "Ligne a explorer $ligne \n\n";
for ($indice=0;$indice<9;$indice++) {
if ($ligne =~ /$motif_cherche[$indice]/g ) {
print ("Indice du motif: $indice motif: $motif_cherche[$indice]
\t dans $ligne \n");
}
}
-----------------------------------------------------------
A l'excution, j'ai le resultat suivant:
Indice du motif: 0 motif: bb dans aa nnn bg kjy lku bb fde 123
Indice du motif: 1 motif: 123 dans aa nnn bg kjy lku bb fde 123
Indice du motif: 3 motif: aa dans aa nnn bg kjy lku bb fde 123
Indice du motif: 5 motif: bg dans aa nnn bg kjy lku bb fde 123
Indice du motif: 7 motif: aa dans aa nnn bg kjy lku bb fde 123
Indice du motif: 8 motif: nnn dans aa nnn bg kjy lku bb fde 123
D'où mes questions.
- Pourquoi "nnn" n'est pas trouvé à l'indice 2 ?
- Pourquoi "aa" n'est pas trouvé à l'indice 6 ?
Bien cordialement
--
==================================================================
| Régis Gras | http://dcm.ujf-grenoble.fr |
| D.C.M. | mailto:Regis.Gras@ujf-grenoble.fr |
| 301, rue de la chimie | -------------- |
| DU BP 53 | Tel 04 76 51 48 02 |
| 38041 Grenoble Cedex 9 | Fax 04 76 51 40 89 |
==================================================================