在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 函数的参数列表的更多相关文章

  1. PHP函数可变参数列表的具体实现方法介绍

    PHP函数可变参数列表可以通过_get_args().func_num_args().func_get_arg()这三个函数来实现.我们下面就对此做了详细的介绍. AD:2014WOT全球软件技术峰会 ...

  2. php获取当前被调函数的参数列表

    下面是php中的一个获取当前别调用函数的参数列表的测试程序,感受一下php类库的强大之处: // 测试获取参数列表 getArgs('aaa', 'bbb', 'ccc', 123, true); f ...

  3. php实现函数可变参数列表

    使用func_get_args().func_num_args().func_get_arg() 可以构造一个可变参数列表的函数. 首先大致介绍以上三个函数. (1)array func_get_ar ...

  4. C语言函数可变参数列表

    C语言允许使用可变参数列表,我们常用的printf函数即为可变参数函数,C标准库提供了stdarg.h为我们提供了这方面支持:该头文件提供了一些类型和宏来支持可变参数列表,包括类型va_list,宏v ...

  5. day11 函数的参数列表

    """ 今日内容: 1.函数参数的分类 2.形参是对实参的值拷贝 3.实参的分类 4.形参的分类 5.打散机制 附1:字符串的比较 """ ...

  6. python学习Day11 函数的参数列表

    复习 什么是函数? 具体特定功能的代码块 - 特定功能代码作为一个整体,并给该整体命名,就是函数 函数的优点 : 1.减少代码的冗余,2.结构清晰,可读性强 3.具有复用性,开发效率高,维护成本高 如 ...

  7. controller函数中参数列表使用多个@RequestBody

    首先出现这种情况是因为有下面这种需求 $.ajax({ type: "POST", url: "${pageContext.request.contextPath}/co ...

  8. 可变参数列表与printf()函数的实现

    问题 当我们刚开始学习C语言的时候,就接触到printf()函数,可是当时"道行"不深或许不够细心留意,又或者我们理所当然地认为库函数规定这样就是这样,没有发现这个函数与普通的函数 ...

  9. PHP函数可变参数

    PHP自定义函数中支持可变数量的参数 在PHP 5.5 及更早的版本中,使用函数func_num_args() , func_get_arg() , func_get_args()实现: 我们举个例子 ...

随机推荐

  1. js之正则表达式详解

    文章前提:会写几本的正则表达式,本文主要讲解js中关于正则方法的运用. (关于正则元字符可以查看http://www.php100.com/html/webkaifa/javascript/2010/ ...

  2. webBench&ad网站并发测试工具

    webBench 测试工具使用,网站上线前压力测试工具. ad测试工具

  3. nyoj322 sort 归并排序,树状数组

    Sort 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 You want to processe a sequence of n distinct integers b ...

  4. angularJS绑定数据中对标签转义的处理二 与pre标签的使用

    一.问题 默认情况下,angularJS绑定的数据为字符串文本,不会对其中包含的html标签进行转义生成格式化的文本.在实际工作时碰到接口返回的数据带有html格式时该如何处理. 二.解决办法 1.引 ...

  5. arm B和BL指令浅析

    arm B和BL指令浅析 B或BL指令引起处理器转移到“子程序名”处开始执行.两者的不同之处在于:(1)BL指令在转移到子程序执行之前,将其下一条指令的地址拷贝到R14(LR,链接寄存器).      ...

  6. 在开发中写一些tool来提升自己的效率

    比如说,我在调试一个web-project的时候,因为eclipse默认编译好的.class文件放在/build/classes/中,但是我希望随时把这些class文件放到/WEB-ROOT/WEB- ...

  7. Hdu1163 Eddy's digitai Roots(九余数定理)

    题目大意: 给定一个正整数,根据一定的规则求出该数的“数根”,其规则如下: 例如给定 数字 24,将24的各个位上的数字“分离”,分别得到数字 2 和 4,而2+4=6: 因为 6 < 10,所 ...

  8. 使用Supervisor管理Linux进程

    使用Supervisor管理Linux进程 简介 Supervisor是一个C/S系统,它可以在类UNIX系统上控制系统进程,由python编写,提供了大量的功能来实现对进程的管理. 安装 sudo ...

  9. iOS NSURLConnection使用详解

    一.整体介绍 NSURLConnection是苹果提供的原生网络访问类,但是苹果很快会将其废弃,且由NSURLSession(iOS7以后)来替代.目前使用最广泛的第三方网络框架AFNetworkin ...

  10. 一款简洁的纯css3代码实现的动画导航

    之前为大家介绍了好多导航菜单,今天给大家分享一款简洁的纯css3代码实现的动画导航.鼠标经过的时候以背景色以菱形渐变为长方形.效果图如下: 在线预览   源码下载 实现的代码. html代码: < ...