2010年(122)
分类:
2010-07-19 09:59:52
第四章 子程序
子过程就是用户定义的函数。子程序名属于独立的名字空间。
定义子程序
可以用关键字sub定义子程序。
调用子程序
可以在任意表达式中使用子程序名(前面加上“与号”)来调用它。
返回值
在Perl中,所有的子程序都有一个返回值。但不是所有的Perl 子程序都包含有用的返回值。
最后一次运算的结果,都会被自动当成子程序的返回值。
参数
Perl会自动将参数列表化名为特殊的数组变量@_,该变量在子程序执行期间有效。子程序可以访问这个数组,以判断参数个数以及参数的值。这表示子程序的第一个参数存储在$_[0],第二个参数存储在$_[1],依次类推。
子程序中的私有变量
随时运用一个操作符来创建私有变量,这个操作符是my。
长度可变的参数列表
关于词法(my)变量
use strict编译命令
这个命令让Perl语法编译器强制执行一些严格的、确保离婚了程序设计的规则。
return操作符
该操作会从子程序中立即返回某个值
省略“与号”
如果编译器在调用子程序之前看到了子程序的定义,或者Perl可以从语法识别它是子程序调用,那么该子程序就可以像内置函数那样,在调用时省略“与号”。
如果内部编译器已经见过子程序的定义,那么“与号”通常也可以省略。这种情况下,你甚至可以去掉参数列表两边的括号。
如果子程序与Perl内置函数同名,必须使用“与号”来调用。
非标量返回值
持久性私有变量
使用state操作符来声明变量,我们便可以在子程序的多次调用间保留变量的值,并将变量的作用域局限于子程序中。