乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
perl 0.12 变量修饰符
2016-05-07 14:58:04
71
0
0
admin
**my** 只在当前的语句块内可以访问。 **our** 全局变量 **local** 可以用my 代替,为的是在某个块里临时用个值来代替这个变量的值,在出了这个语句块后再恢复过来。与my 不同之处: 1. local 只能对全局变量(用our 声明过的)使用 2. my 的值不会继承到子程序中调用的子程序中(出语句块了),local 可以。 **state** 子程序的持久私有变量,多次调用同一个子程序期间保留该变量的值。 需要 >= Perl 5.1 ```perl [root@test ~]# cat ./a.pl #!/usr/bin/perl use warnings; use strict; use 5.010; my $a = 1; &lala(); &lala(); &lala(); sub lala { state $a = 2; print "a = $a\n"; $a = $a + 1; } print "start a = $a\n"; [root@test ~]# ./a.pl a = 2 a = 3 a = 4 start a = 1 [root@test ~]# ```
上一篇:
perl 0.11 引用
下一篇:
perl 1.01 时间计算
文档导航