如何访问二维Perl数组中的值,以便将它们放在标量变量中?

Gen*_* S. 1 arrays perl

我似乎记得(虽然现在找不到任何参考)能够做类似的事情

my @a = ("foo","bar");
my ($item1, $item2) = @a;
Run Code Online (Sandbox Code Playgroud)

上面的内容并不是我想要的(显然),但我似乎记得有一些方法可以做到这一点,它加载与括号列表中的标量顺序相关的项目.

就此而言,我认为args数组如何传递到子程序中,如...

sub method{
  my ($arg1, $arg2) = @_;
}
Run Code Online (Sandbox Code Playgroud)

也许我只是想出去,但我认为这是可能的.

[编辑]

啊...所以基于第一个答案,我意识到它不起作用的原因是我使用的是二维数组.所以,在我的代码中它实际上看起来像这样:

foreach(@twoDimenArray){
    my ($item1, $item2, $item3) = $_; #$_ is an array
}
Run Code Online (Sandbox Code Playgroud)

它必须是$语法搞砸了,但我已经尝试过($_) and @($_) and @$_,但没有一个工作.

Cam*_*ron 6

尝试使用@{$_}:

foreach (@twoDimenArray) {
    my ($item1, $item2, $item3) = @{$_};    # $_ is an array
}
Run Code Online (Sandbox Code Playgroud)