1.子例程的概念
子例程和其它编程语言中函数的概念类似,唯一的区别是Perl中的子例程总是用户定义的,而函数可能包括系统自带的内置函数。
和标量、数组类似,子例程也有单独的命名空间,该命名空间以与字符("&")标识。
2.定义及调用格式
用关键字sub和子例程的名字定义一个子例程,如下所示:
sub max {
...
}
调用的时候,去掉sub,在子例程名字前面加"&",如下所示:
$max_num = &max($a, $b);
3. 参数和返回值
传递给子例程的参数,会自动保存在子例程内的一个默认变量@_中,这是一个数组变量,对其中的元素进行访问的方式为$_[i], i=0,1,...
譬如:
sub max {
if ($_[0] > $_[1]) {
$_[0];
} else {
$_[1];
}
}
默认情况下,在子例程中得到的最后一个计算值自动成为返回值,即不需要明确的return语句。
当然,使用return语句可以立即从子例程中返回一个值,并不再执行子例程的其余部分。
4. 私有变量及严格的编码规范
使用my关键字定义的变量为私有变量,其作用范围为最小的代码块。用法如下:
my $a; #定义了一个私有标量
my ($a, $b); #定义了一个私有列表
为了告诉Perl执行严格的语法规则检查,可以把use strict pragma放在程序顶部(或在任何你希望强制使用这些规则的块或文件中)
use strict; #强制使用一些好的编程规则
5.其它
忘记local,我们用不到这个东西:P
在调用子例程时,总是使用与字符(&),这是安全和保险的。
1 条评论:
谢谢楼主的文档,很适合perl的新手啊,
发表评论