我有一个列表,其中包含要传递给函数的参数。我如何调用该函数?
例如,假设我有这个功能:
sub foo {
my ($arg0, $arg1, $arg2) = @_;
print "$arg0 $arg1 $arg2\n";
}
假设我有:
my $args = [ "la", "di", "da" ];
foo
不写怎么打电话foo($$args[0], $$args[1], $$args[2])
?
我有一个列表,其中包含要传递给函数的参数。我如何调用该函数?
例如,假设我有这个功能:
sub foo {
my ($arg0, $arg1, $arg2) = @_;
print "$arg0 $arg1 $arg2\n";
}
假设我有:
my $args = [ "la", "di", "da" ];
foo
不写怎么打电话foo($$args[0], $$args[1], $$args[2])
?
@
您可以通过粘贴在它前面来取消引用数组引用。
foo( @$args );
或者,如果您想更明确:
foo( @{ $args } );
试试这个:
foo(@$args);
foo(@$args);
或者,如果您有参考foo
:
my $func = \&foo;
...
$func->(@$args);
这很简单。富(@{$args})