Dan*_*lan 0 perl multidimensional-array
在我的代码中,我有一个多维数组
$rows[$x][$y]
Run Code Online (Sandbox Code Playgroud)
我将它传递给具有多种用途的子函数,但在某些时候,该函数将需要从主数组中删除(弹出)其中一个元素.
我相信传递它的正确方法是引用它,因为我传递的不仅仅是数组:
filterout(\@rows, $y, $data );
Run Code Online (Sandbox Code Playgroud)
但我不确定在子程序端解除引用它的语法.
非常感谢任何帮助,谢谢.
要从数组引用弹出,请使用
my $last = pop @$aref;
Run Code Online (Sandbox Code Playgroud)
或者,在最近的Perl版本中,
my $last = pop $aref->@*;
Run Code Online (Sandbox Code Playgroud)
要弹出内部数组,您需要取消引用数组引用的给定元素:
my $last = pop @{ $aref->[$index] };
Run Code Online (Sandbox Code Playgroud)
要么
my $last = pop $aref->[$index]->@*;
Run Code Online (Sandbox Code Playgroud)