想象一下这个子程序:
sub test(&&)
{
my $cr1 = shift;
my $cr2 = shift;
$cr1->();
$cr2->();
}
我知道我可以这样称呼它:test(\&sub1,\&sub2)
,但我怎么能这样称呼它:
test { print 1 },{ print 2 };
如果我说子程序只需要一个&
,那么发送一个块就可以了。我不知道如何使它与2一起使用。
如果我尝试这样运行它,我会得到:
Not enough arguments for main::test at script.pl line 38, near "},"
编辑:没有就没有办法调用sub
吗?