perl静态变量
state操作符功能类似于C里面的static修饰符,state关键字将局部变量变得持久。
state也是词法变量,所以只在定义该变量的词法作用域中有效,举个例子:
#!/usr/bin/perl use feature 'state'; sub PrintCount{ state $count = 0; # 初始化变量,由于静态变量,所以每次count都是同一个,会保存上次的值 print "counter 值为:$count\n"; $count++; } for (1..5){ PrintCount(); }
以上程序执行输出结果为:
counter 值为:0
counter 值为:1
counter 值为:2
counter 值为:3
counter 值为:4
4556