这是对此处发布的问题的后续:如何在 Perl 中引用数组切片?
sub getArrayRef { return \@_ }
my @arr = (0, 1, 2, 3, 4);
my $sub_arr = getArrayRef(@arr[1..2]); # Changes made to $sub_arr->[0] reflect in $arr[1]
我只是想知道为什么会这样。这篇文章的作者说它的工作原理是“别名魔法”,但我不知道这意味着什么。
此方法与尝试从切片中获取引用不同:
my @arr = (0, 1, 2, 3, 4);
my $sub_arr = \@arr[1..2]; # array of references rather than aliases to elements of @arr
@_
有什么特别之处,\
使它返回变量的别名而不是引用?