【发布时间】:2011-03-04 13:06:40
【问题描述】:
是否可以push 到 Perl 中的数组引用?谷歌搜索建议我首先尊重数组,但这并没有真正起作用。它推送到被引用的数组,而不是被引用的数组。
例如,
my @a = ();
my $a_ref = [@a];
push(@$a_ref,"hello");
print $a[0];
@a 将不会更新,并且此代码将失败,因为数组仍然为空
(我还在学习 Perl 引用,所以这可能是一个非常简单的问题。抱歉,如果是这样)
【问题讨论】:
-
my $a_ref = \@a;- 你创建了一个新的 array_references,第一个元素是空数组 -> 所以只是一个空数组。 -
$a_ref = [@a];没有引用原始的@a-- 它复制了它的内容。