[英]How can I pass the elements in a Perl array reference as separate arguments to a subroutine?
我有一個列表,其中包含我想傳遞給函數的參數。 我該如何調用該功能?
例如,假設我有這個功能:
sub foo {
my ($arg0, $arg1, $arg2) = @_;
print "$arg0 $arg1 $arg2\n";
}
讓我們說我有:
my $args = [ "la", "di", "da" ];
如何在不寫foo
情況下調用foo
foo($$args[0], $$args[1], $$args[2])
?
您可以通過在其前面粘貼@
來取消引用數組引用。
foo( @$args );
或者如果你想更明確:
foo( @{ $args } );
嘗試這個:
foo(@$args);
foo(@$args);
或者,如果你有foo
的引用:
my $func = \&foo;
...
$func->(@$args);
這很簡單。 FOO(@ {$ ARGS})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.