Comment puis-je imprimer un tableau à deux dimensions en Perl?

J'ai un 2 dimensions tableau. Lorsque j'imprime/Dump cela, je reçois le

Mes 2 dim tableau:

push (@matrix, \@a1Comparea2);
push (@matrix, \@a3Comparea4);

a1Comparea2 devrait être la première ligne du tableau
a3Comparea4 devrait être la deuxième ligne de la matrice de

$VAR1 = [
          [
            '1 6',
            '2 7',
            '3 8',
            '4 9',
            '5 10'
          ],
          $VAR1->[0],
          $VAR1->[0],
          $VAR1->[0],
          $VAR1->[0],
          [
            '7 12',
            '8 13',
            '9 14',
            '10 15',
            '11 16'
          ],
          $VAR1->[5],
          $VAR1->[5],
          $VAR1->[5],
          $VAR1->[5]
        ];

Lorsque j'essaie d'imprimer ce avec le code suivant:

for (my $j= 0; $j < $rows; $j++)
{
        for (my $k= 0; $k < @a1; $k++)
        {
                print "Row:$j Col:$k = $matrix[$j][$k]\n";
        }
}

J'obtiens le résultat suivant:

Row:0 Col:0 = 1 6
Row:0 Col:1 = 2 7
Row:0 Col:2 = 3 8
Row:0 Col:3 = 4 9
Row:0 Col:4 = 5 10
Row:1 Col:0 = 1 6
Row:1 Col:1 = 2 7
Row:1 Col:2 = 3 8
Row:1 Col:3 = 4 9
Row:1 Col:4 = 5 10

Comme vous pouvez le voir, les données sont dupliquées.

Les éléments de la matrice qui lit "$VAR->[0]" " et " $VAR->[5] est Data::Dumper la façon de le dire il y a plusieurs copies de la même chose dans votre structure de données. Si vous publiez plus initialiazing code, ça pourrait aider. Comment est a1Comparea2 défini?
j'ai donc fait quelques recherches autour de. Ma matrice est formée par pusshing références de tableau. Les données sont dupliquées si les tableaux sont poussés de manière séquentielle dans une boucle. mais si je declare @matrice = (\@tableau array1, \@matrice2) alors tout va bien. savoir pourquoi?
Montrez-nous votre boucle.
Rob: poste le code qui crée le tableau. Alors quelqu'un doit être en mesure de vous aider. Vous devriez aussi regarder à deux tutoriels en Perl documentation interne: perldoc perllol et perldoc perldsc. Ils sont en ligne: perldoc.perl.org/perllol.html et perldoc.perl.org/perldsc.html

OriginalL'auteur | 2009-07-11