Salut,
Dans la continuité de mon topic précédent ...
Je cherche à créer un nouveau tableau imbriqué à partir d'un tableau simple, mais je bloque au niveau de la boucle.
J’ai donc mon tableau toto --> @toto
Qui contient n strings --> @toto = ( [tata;tbtb;tctc;tdtd]; [tete;tftf;tgtg;thth]; … );
J’aimerais spliter la string [tata;tbtb;tctc;tdtd] en un nouveau tableau @tztz, je me base sur le point-virgule comme séparateur --> push @tztz, [split(/;/, $toto[$i])];
Il faut donc que je boucle sur $i afin de lire chaque string et de la spliter et c’est là que je bloque … j’ai essayé while, for, foreach, do while, … soit ça tourne en infinite loop soit il boucle plusieurs fois sur le même élément.
Il faudrait faire une boucle dans les crochets de $toto[] mais je trouve ça dégueu.
Si je boucle avant le push il va me créer n fois le tableau @tztz et cela ça ne va pas.
@tztz sera un tableau imbriqué, alors que @toto en est un simple.
Code :
- @tztz (
- [
- ‘tata’,
- ‘tbtb’,
- ‘tctc’,
- ‘tdtd’
- ];
- [
- ‘tete’,
- ‘tftf’,
- ‘tgtg’,
- ‘thth’
- ];
- );
|
Au mieux j'arrive à cela, mais mon tableau est recréé à chaque tour de boucle avec son contenu précédent +1 .
Code :
- # Récupère le tableau passé en paramètre.
- my @personnes = @_;
- my @personnes2 = ();
- # Split les éléments dans un nouveau tableau en se basant sur le ; comme délimiteur.
- my $i;
- for ($i=0;$i<=$#personnes;$i++)
- {
- push @personnes2, [split(/;/, $personnes[$i])];
- print Dumper(@personnes2);
- }
|
Comment faire ?
Merci pour votre aide .
Message édité par Gavrinis le 28-06-2011 à 17:44:11