2010-06-03 63 views
7

在下面的Perl代码的非关联阵列,我希望数组Perl中,引用

#!/usr/bin/perl 

use strict; 
use warnings; 

my @a=([1,2],[3,4]); 

my @b = @$a[0]; 

print $b[0]; 

但它似乎不工作内的被引用数组引用。我会期待它输出1

@a是引用

@b的数组$a[1]间接引用(我认为)

那么,有什么问题呢?

回答

10

这东西很棘手。

@$a[0]被解析为(@$a)[0],取消引用(不确定)标$a

你想说的话@{$a[0]}

+0

Perl中有这么多的怪癖我仍然习惯。感谢您的帮助 – Mike 2010-06-03 20:41:58

+6

如有疑问,只需添加更多大括号:D – Ether 2010-06-03 20:48:55