我想做:
$array_ref = [ 1, 2, 3];
alias @array @$array_ref;
$array[0] = 4;
# $array_ref->[0] should now be 4
换句话说:我有一个数组的引用,但我想像普通数组一样处理它。
背景
这是 GNU Parallel 的潜在扩展。在 GNU Parallel 中,用户可以提交要在内部数据结构上进行评估的 perl 表达式。至少可以说,访问 args 数组很麻烦,因此我希望可以简单地使用 @arg 来代替。
最佳答案
Data::Alias做你正在寻找的事情。
use Data::Alias;
my $array_ref = [1, 2, 3];
my @array;
alias @array = @$array_ref;
$array[0] = 4;
print $array_ref->[0];
输出:4
关于arrays - Perl:将数组别名为 array_ref,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871131/