Perl 子程序声明意外的符号
Perl Subroutine Declaration Unexpected Symbols
我一直在查看一些 Perl 代码,其中包含一些对我来说毫无意义的子例程声明。它们显示为:
foo($$$$;$);
foo($$$);
符号“;”是什么意思和“\”在这些声明中的作用是什么?
它们是 "prototypes" - 但 Perl 原型与其他语言中的原型不同,可能不应该使用。
$
表示函数的标量参数。 ;$
表示可选的附加标量参数。 $
表示引用参数。
另请参阅:Why are Perl 5's function prototypes bad?
我一直在查看一些 Perl 代码,其中包含一些对我来说毫无意义的子例程声明。它们显示为:
foo($$$$;$);
foo($$$);
符号“;”是什么意思和“\”在这些声明中的作用是什么?
它们是 "prototypes" - 但 Perl 原型与其他语言中的原型不同,可能不应该使用。
$
表示函数的标量参数。 ;$
表示可选的附加标量参数。 $
表示引用参数。
另请参阅:Why are Perl 5's function prototypes bad?