Deutsch English Français Italiano |
<65a56892$0$3013$426a74cc@news.free.fr> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!news.trigofacile.com!usenet-fr.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp4-2.free.fr!not-for-mail Newsgroups: fr.comp.lang.perl X-Mozilla-News-Host: news://news.free.fr:119 From: kurtz le pirate <kurtzlepirate@free.fr> Subject: array of array Organization: Compagnie de la Banquise Date: Mon, 15 Jan 2024 18:17:06 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: fr Content-Transfer-Encoding: 8bit Lines: 87 Message-ID: <65a56892$0$3013$426a74cc@news.free.fr> NNTP-Posting-Date: 15 Jan 2024 18:17:06 CET NNTP-Posting-Host: 88.123.184.107 X-Trace: 1705339026 news-1.free.fr 3013 88.123.184.107:10306 X-Complaints-To: abuse@proxad.net Bytes: 2591 Bonjour, Je ne sais pas s'il y a du monde qui vient encore ici, mais je tente ma chance ; Donc : J'ai des données de ce genre : f 198/216 199/218 2/3 1/1 Le but est de découper chaque couple a/b dans un tableau '@faces' Le fichier a 'x' lignes comme ça. J'ai donc fait pour chaque ligne du fichier : # je decoupe sur le séparateur espace et je mets dans '@line' @line = split ' '; # j'enlève le 'f' du début shift(@line); # je découpe chaque element de @line en un tableau de deux # valeurs sur le séparateur '/' @line = map { [ split /\//, $_ ] } @line; # je pousse ce tableau dans mon tableau global push @faces, [@line]; Jusque la, cela semble correct. L'exemple donné a 4 'couples' mais il peut y en avoir entre 3 et n. Mais, quand je veux accéder au valeurs : (les deux boucles c'est juste pour le debug) for my $i ( 0 .. $#faces ) { for my $j ( 0 .. $#{$faces[$i]} ) { print "faces[$i,$j] = $faces[$i][$j]\n"; } } J'obtiens : faces[0,0] = ARRAY(0x7f8a2987f288) faces[0,1] = ARRAY(0x7f8a2987ea48) faces[0,2] = ARRAY(0x7f8a29960b08) faces[0,3] = ARRAY(0x7f8a2982d9c8) Alors qu'avec le dumper : $VAR1 = [ [ '198', '216' ], [ '199', '218' ], [ '2', '3' ], [ '1', '1' ] ]; Si quelqu'un peut me dire où je me trompe ... Merci d'avance. ps : pour ceux qui ont reconnu, oui, c'est pour convertir des fichiers obj en autre chose. -- kurtz le pirate compagnie de la banquise