&@对于sub意味着什么?

new*_*erl 4 perl

可能重复:
函数声明"sub function($$)"是什么意思?

sub t(&@) {
    print @_;
}
t {print 1};
Run Code Online (Sandbox Code Playgroud)

我试图改变&@&$,它就会失败.

什么是它的术语,以便我可以搜索?

Ala*_*avi 5

&@是一个子程序原型.这使您可以创建类似于内置grep函数的语法(接受BLOCK,然后接受LIST).该LIST甚至可以是空列表:().

&$使用时将强制在标量上下文中计算第二个参数(必须).由于没有第二个参数,t {print 1};因此无法编译.

在以下位置阅读有关子程序原型的更多信息:perldoc perlsub.