Bonjour,

j'ai une variable "liste" appelée @toto. Je la remplie par des push tel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
my $test = "toto";
push(@toto, $test);
J'ai l'habitude depuis "toujours" de lire mes var liste avec while tel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
while (<@toto>) {
  print $_;
}
Je suis tombé sur un cas qui remettrait en cause l'utilisation de while pour lire ce type de variable. En effet et voulant "pusher" une chaine contenant une "*", j'ai un soucis.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
my $test = "toto*";
push(@toto, $test);
mon while ne lit plus rien du tout, alors qu'un foreach fonctionne comme attendu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
foreach $_ (@toto) {
  print $_;
}

Quelqun pourrait m'expliquer le pourquoi du comment ?

Merci d'avance.