关于这个 问题,手动设置为undef
列表元素与 Perl 在通过分配比列表大小更大的索引来增加该列表的大小时设置的元素之间有什么区别?例如,考虑以下代码:
@a = (undef, 0);
@b = ();
$b[1] = 0;
print Dumper(@a), "\n", Dumper(@b);
它打印(如预期的那样,我认为):
$VAR1 = undef;
$VAR2 = 0;
$VAR1 = undef;
$VAR2 = 0;
那么,数组不一样吗?显然不是:
sub change { $_[0] = 1 }
change(@a); change(@b);
print Dumper(@a), "\n", Dumper(@b);
哪个打印:
$VAR1 = 1;
$VAR2 = 0;
$VAR1 = undef;
$VAR2 = 0;