我想创建一个数组的散列。我如何访问/打印整个阵列?下面是代码:在Perl中哈希阵列
my %data;
my @row = ("My", "Name", "is", "Anthony", "Gonzalves");
print "@row";
$data{'First'} = \@row;
print "@data{'First'}";
上述代码的输出是: 我的名字是安东尼GonzalvesARRAY(0x7fa1a5831dc8)。
我想创建一个数组的散列。我如何访问/打印整个阵列?下面是代码:在Perl中哈希阵列
my %data;
my @row = ("My", "Name", "is", "Anthony", "Gonzalves");
print "@row";
$data{'First'} = \@row;
print "@data{'First'}";
上述代码的输出是: 我的名字是安东尼GonzalvesARRAY(0x7fa1a5831dc8)。
在您的代码中,$data {First}
是参考到一个数组。要访问元素(所有元素,作为列表),您可以用@{}
来回避它。所以:
foreach my $element (@{$data {First}}) {
print $element;
}
或者更短,并打印在其自己的行每一个元素:
use 5.010;
say for @{$data {First}};
欢迎来到Stack Overflow!很高兴在这里有另一位高级社区人员:) – simbabque
您应该使用@{}
访问数组的ref:
%HoA=(
flintstones =>["fred","barney"],
);
$HoA{teletubbies}=["tinky winky","dipsy","laa-laa","po"];
for $family (keys %HoA){
print "$family: @{$HoA{$family}}\n";
}
输出是:
simpsons: homer Marge bart
teletubbies: tinky winky dipsy laa-laa po
'$ data {'First'}'是一个re对数组的支持。你需要'print'@ {$ data {'First'}}“;' – ikegami
通过教程[perlreftut](https://perldoc.perl.org/perlreftut.html)和cookbook [perldsc](https:// perldoc.perl.org/perldsc.html) – zdim