[Toulouse-pm] foreach

Michel Rodriguez mrodrigu at xmltwig.com
Mon Jan 20 09:09:05 CST 2003


On Mon, 20 Jan 2003 eric.vernichon.ev at borchers.fr wrote:

>
> Pouvez vous me dire pourquoi lorsque je lance ce code ( dans un sub )
> le  foreach my $choixtransport (@listeTransport) ne fait qu'un passage
> même si @listeTransport contient plusieurs valeurs ( j'ai vérifié le contenu)

Sans le reste du code (que retourne la methode get pour commencer) c'est
difficile de savoir ce qui se passe. Tout a l'air normal en tout cas.

En general pour debugger un probleme de ce genre tu as 2 solutions:
utiliser le debugger Perl (perl -d toto.pl, perldoc perldebug pour plus
d'infos, x @listeTransport apres l'appel a get(0, 'end') te donnera le
contenu de @listeTransport)
utiliser print: mets un print join( '-', @listeTransport), "\n"; avant la
boucle et print $choixtransport, "\n"; dans la boucle.

Et pour finir, si rien d'autre ne marche, quand tu postes, essaye de
reduire ton code au maximum, en enlevant tout ce qui n'est pas directement
utile.

Ici ca donnerai probablement ca:

>   my @listeTransport=$listbox->get(0,'end');
>     foreach my $choixtransport (@listeTransport)
>     { print $choixtransport, "\n"; }

Note que ca ne nous aiderai toujours pas vu qu'on ne sait pas ce que get
renvoie, mais au moins, en enlevant des bouts de code petit a petit, tu as
une chance de trouver d'ou vient le probleme.

Bonne chance

Michel Rodriguez
Perl & XML
http://www.xmltwig.com




More information about the Toulouse-pm mailing list