有人会这么愉快地解释为什么接下来会发生吗?这是代码:
#!/usr/bin/perl
use v5.14;
use warnings;
my @arr = (1, 2, 3);
sub func
{
return @arr;
}
push(&func(), 4);
say @arr;
当我尝试运行它时,输出为Not an ARRAY reference at ...
.
我想这是因为不是对. 而是对一个普通列表进行&func()
评估,并被视为. 有人可以解释为什么会发生这种情况,因为在文档中我没有发现任何与此相关的内容。@arr
1, 2, 3
1
ARRAY
push
push
提前致谢。