考虑一下这个Perl代码
my @a=[[1]]; print $a[0][0]; **output** ARRAY(0x229e8)
为什么打印ARRAY而不是1?我希望@a创建一个大小为1的数组,引用第二个只包含一个元素的数组1.
解决方法
这个东西很棘手.您已将@a指定为包含对包含对数组的引用的数组的引用的列表,这是一个比您预期的更多的间接层.
为了得到你期望的结果,你应该说
@a = ( [ 1 ] );