我有一个列表,其中包含我想传递给函数的参数。我该如何调用该功能?
例如,假设我有这个功能:
sub foo {
my ($arg0, $arg1, $arg2) = @_;
print "$arg0 $arg1 $arg2\n";
}
让我说我有:
my $args = [ "la", "di", "da" ];
如何在不撰写foo
的情况下致电foo($$args[0], $$args[1], $$args[2])
?
答案 0 :(得分:10)
通过在其前面粘贴@
来取消引用数组引用。
foo( @$args );
或者如果你想更明确:
foo( @{ $args } );
答案 1 :(得分:9)
答案 2 :(得分:6)
试试这个:
foo(@$args);
答案 3 :(得分:4)
foo(@$args);
或者,如果您引用foo
:
my $func = \&foo;
...
$func->(@$args);
答案 4 :(得分:2)
这很简单。 FOO(@ {的$ args})