Bonjour à tous,

J'ai fait des REGEX Perl, il y a 3 ans maintenant et je rencontre certaines difficultés...

Les caractères de ma chaines ressemble à ceci :

15-17 soit en pseudo REGEX : chiffre*-chiffre*

Le but est donc d'affecter a une variable ce qu'il y a avant le "-" et dans la deuxième la suite.


J'ai donc un script qui ressemble à ceci, j'ai mis en gras la REGEX en question :

...
while ( my $sheet = $xls->sheet() )
{
while ( my $row = $sheet->row )
{
###liste @data contenant toute les infos
my @data = @$row;
###
#print "@data[0]\n";
#my $photos = @data[1];
#print "les photos a traiter sont : $photos\n";


###gestion des numéros de photos
my $photos = @$row[1];
print "la liste \@photos est egale a : $photos \n";
$extension = @$row[6];
#print "$extension \n" ;
($photos_start) = ( $photos=~m/[0-9]*/ );
print "test regexp : $photos_start \n";
$photos_end = ( $photos=~m/-[0-9]*/ );
print "test regexp : $photos_end \n";
}

}

Le problème est que le retour de mon print est-celui :

la liste @photos est egale a : 44-49
test regexp : 1
test regexp : 1


Il m'affiche un "1" comme ci je l'utilsiais comme un retour booléen dans une condition "if".

Je suis preneur de toute aide =)

Merci à vous !


PS : Je m'aide de ce tutoriel :

http://lhullier.developpez.com/tutor...intro/#LVIII-L