帮助理解 Perl 中深层结构的一个好方法是使用Data::Dumper。例如:
use strict;
use warnings;
use Data::Dumper;
my @name = ("Jack S", "John L", "Cary S");
my @number = ("29", "78", "54");
my @bigNumber = ("40000", "50000", "60000");
my @array2D = (\@name, \@number, \@bigNumber);
print Dumper \@array2D;
这向我们展示了这个输出:
$VAR1 = [
[
'Jack S',
'John L',
'Cary S'
],
[
'29',
'78',
'54'
],
[
'40000',
'50000',
'60000'
]
];
换句话说,我们传递Dumper
了一个对包含三个项目的数组的引用,每个项目都是一个数组引用。
因此,如果我们想遍历这些数组并打印每个数组的第一个槽中的项目,我们可以这样做:
foreach my $ref( @array2D ) {
print $ref->[0], " ";
}
print "\n";
这将输出:
Jack S 29 40000
如果你想概括打印所有记录,你可以做这样的事情。(这假设所有嵌套数组的大小都与第一个数组相同。)
my $count = @{ $array2D[0] };
foreach my $index( 0 .. $count - 1) {
foreach my $ref( @array2D ) {
print $ref->[$index], " ";
}
print "\n";
}
输出:
Jack S 29 40000
John L 78 50000
Cary S 54 60000
虽然在这一点上,重新考虑你的结构可能会更好。例如,也许您想要按名称索引的数组哈希。