在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
sub NAME ; 子过程定义sub NAME { 。。。 } 匿名子过程声明的时候没有名字,只有sub关键字加代码块。这种写法实在蛋疼,不知道有何好处?下面代码中subref是指向这个匿名子过程的引用。 use strict ; 通过use关键字引入另一个模块中的子过程。 use qw(name1, name2, name3) ; 子过程的调用直接调用NAME(LIST) #有圆括弧时,&可以省略。 NAME LIST 如果预声明/输入了子过程,那么圆括弧是可选的?那么具体什么时候不能省略圆括弧么? &NAME 把当前@_内容作为子过程参数。 间接调用&$subref(LIST) #间接调用的时候&不能省略。 $subref->(LIST)。 &$subref 把当前@_内容作为子过程参数。 子过程命名风格自定义的子过程一般采用全小写字母命名,因为perl中大写的子过程都是自动调用的,比如析构函数DESTROY。 子过程的设计理念perl的子过程定义体现了一个理念,那就是支持可变参数。所以通常定义的子过程并为指定参数,当然可以使用原型方法来提供。 返回值可以使用return语句来返回不同的值,如果仅有return语句,后面没有值,那么返回undef或者空列表(视上下文而定) sub test{ 传入引用 下面这个程序使用数组引用做参数,有些地方我还不是很明白,需要深入研究 use strict ; 无参子过程 下面两个子过程完全不同 sub test { } sub test () { } 第二个子过程多了一对(),表示这个子过程是没有参数的,而第一个子过程则可以有任意个参数 ==== |
请发表评论