我似乎记得(虽然现在找不到任何参考)能够做类似的事情
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 @$_,但没有一个工作.
尝试使用@{$_}:
foreach (@twoDimenArray) {
my ($item1, $item2, $item3) = @{$_}; # $_ is an array
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |