Expression Régulière PERL
Bonjour à tous,
je débute en PERL et j'ai un problème avec une expression régulière, malgré la documentation, je ne comprends pas bien comment ça marche :
Alors en fait, dans un fichier CSV, j'ai une liste complète d'oiseaux. Ce que j'ai fait pour le moment, c'est donc ouvrir le fichier, parcourir le fichier pour insérer chaque nom d'oiseau dans une liste, trier la liste, mettre chaque élément de la liste dans une liste déroulante, et l'afficher.
Maintenant, j'essaye de reprendre ce principe pour n'afficher que les oiseaux commençant par une certaine lettre, donc je reparcours ma liste d'oiseaux, et si ça commence par une certaine lettre, j'insère la valeur dans une seconde liste, je construis ma liste déroulante et je l'affiche.
Le problème c'est que je n'arrive pas à bien gérer mon expression régulière.
J'ai mis ça en condition :
Code:
if ($birds[$i] =~/^[aA]/)
qui me retourne bien tous les oiseaux commençant par la lettre a ou la lettre A
mais si j'essaye avec la lettre suivante, b, et que je mets donc
Code:
if ($birds[$i] =~/^[bB]/)
, là j'ai les A et les B ...
Code:
if ($birds[$i] =~/^[cC]/)
, là j'ai aussi que les A et les B ...
donc je ne vois pas ce qui cloche :(
voici mes qq lignes de mon script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #!/usr/bin/perl
print "Content-type: text/html\n\n";
open (FICHIER,"liste.csv") or print("Le fichier n'existe pas !");
@birds = ();
my $form;
while ($ligne = <FICHIER>){
chomp($ligne);
push (@birds,$ligne);
}
@birds=sort(@birds);
close FICHIER;
my $longueur = @birds;
for($i=0;$i<$longueur;$i++)
{
$form=$form."<option value='@birds[$i]'>@birds[$i]</option>";
}
$listfinale="<form method='post'><select name='birds'>" .$form."</select></form>";
print $listfinale;
@birdsspec=();
$form="";
for($i=0;$i<$longueur;$i++)
{
if ($birds[$i] =~^[\aA]/)
{
push(@birdsspec,$birds[$i]);
}
}
my $longueur = @birdsspec;
for($i=0;$i<$longueur;$i++)
{
$form=$form."<option value='@birds[$i]'>@birds[$i]</option>";
}
$listfinale="";
$listfinale="<form method='post'><select name='birds'>" .$form."</select></form>";
print $listfinale; |
Merci à tous ceux qui pourront me dépanner
Slyv