Perl 教程 之 Perl 子程序(函数) 8
Perl 子程序(函数)
Perl 子程序也就是用户定义的函数。
Perl 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读。
静态变量
state操作符功能类似于C里面的static修饰符,state关键字将局部变量变得持久。
state也是词法变量,所以只在定义该变量的词法作用域中有效,举个例子:
实例
!/usr/bin/perl
use feature 'state';
sub PrintCount{
state $count = 0; # 初始化变量
print "counter 值为:$count\n";
$count++;
}
for (1..5){
PrintCount();
}
以上程序执行输出结果为:
counter 值为:0
counter 值为:1
counter 值为:2
counter 值为:3
counter 值为:4
注1:state仅能创建闭合作用域为子程序内部的变量。
注2:state是从Perl 5.9.4开始引入的,所以使用前必须加上 use。
注3:state可以声明标量、数组、哈希。但在声明数组和哈希时,不能对其初始化(至少Perl 5.14不支持)。