您看到的错误是由线路引起的
my $array_ref = @_;
在标量上下文,一个普通的数组返回其长度,所以$array_refIS 1,而不是一个来引用@array.在下一行中,perl会抱怨因为你无法取消引用1.从@_(或任何其他数组)分配时,使用列表上下文:
$array_ref
1
@array
@_
my ($array_ref) = @_;
或者,在这种情况下,您可以使用shift:
shift
my $array_ref = shift;