5 回答
TA贡献1833条经验 获得超4个赞
原型允许您定义像内置函数一样的函数。
括号是可选的。 上下文是强加在论点上的。
sub mypush(\@@) { ... }
mypush @array, 1, 2, 3;
\
它们必须在编译时可见。 他们可以被绕过。 将上下文传播到参数可能会导致意外行为。 除了严格规定的形式之外,它们还会使调用函数变得困难。
TA贡献1898条经验 获得超8个赞
&function(...)
$
my @array = qw(a b c);foo(@array);foo(@array[0..1]);foo($array[0], $array[1], $array[2]);sub foo ($;$$) { print "@_\n" }foo(@array);foo(@array[0..1]);foo($array[0], $array[1], $array[2]);
a b c a b a b c3b a b c
main::foo() called too early to check prototype
添加回答
举报