【发布时间】:2011-06-29 06:14:30
【问题描述】:
我正在使用 map 来提取二维数组的第一个元素。这里是小代码sn-p。
my $array = [ [1,11,111], [2,22], undef, [4] ];
my @firstList = map { (defined $_) && $_->[0] } @$array;
所以在这里我希望地图返回一个数组,其中的元素的值为 undef 或 $array 元素的第一个元素。
但输出与我期望的不同。 对于 undef,我得到了“标量”类型的元素。
如果我使用以下块更改 map 语句,那么我会得到预期的结果。
my @firstList = map { $_->[0] } @$array;
请帮助我理解这两个地图语句。
【问题讨论】:
标签: perl