我有一些Perl代码,我注意到数组与前导反斜杠一起使用\@array
任何人都能解释一下这是什么意思吗?
答案 0 :(得分:18)
这意味着它是对数组的引用。
答案 1 :(得分:18)
\@
表示法将返回所提供数组的引用(或指针),因此:
$arrayref = \@array
会使$arrayref
成为@array
的引用 - 这类似于在C中使用*p
指针表示法。
答案 2 :(得分:-4)
数组引用主要用作子例程的参数。没有引用,传递数组@a
(带元素1,2,3)与分别传递1,2和3几乎相同。使用\@array
,子可以看到整个数组,例如明确地确定其长度,操纵它以便调用者可以看到更改等。该权力的代价是,在访问数组元素时,sub必须使用更复杂的语法:$$a[0]
而不是{{1} }。