perl 函数的参数列表

Posted 庐州月光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl 函数的参数列表相关的知识,希望对你有一定的参考价值。

在perl中,定义一个函数的时候,不需要在圆括号内指定具体的参数,所有的参数都从@_ 这个列表中得到

代码示例:

sub test
{
    my ($a, $b) = @_;
    print qq{$a\t$b\n};    
}

sub test
{
    my $a = shift;
    my $b = shift;
    print qq{$a\t$b\n};
}

这样写当然没有问题,但是有一点不足之处在于,缺少了圆括号内的形参列表,没法直观的一眼看出这个函数需要几个参数

所以perl 中函数定义的时候支持下面这种写法

sub test($$){
    my ($a, $b) = @_;
    print qq{$a\t$b\n};    
}

圆括号内的$$不是内置变量的那个$$(返回当前脚本的pid), 这里的$$只是只是参数的个数,因为这个函数只有两个参数,所以是$$

当函数有3个参数时,可以写作($$$), 这里的$没有什么实际含义,只是代表参数个数。

以上是关于perl 函数的参数列表的主要内容,如果未能解决你的问题,请参考以下文章

如何有条件地将 C 代码片段编译到我的 Perl 模块?

Perl编程-4子程序+引用

Visual Studio 自定义代码片段在方法定义的参数列表中不起作用

Perl:sprintf函数

perl 子程序参数列表 - “通过别名传递”?

想要在 PHP 中传递值列表(如在 Perl 中),而不是引用数组