Perl中预定义的一些常见特殊变量

一、正则表达式特殊变量:
1、$n:包含上次模式匹配的第n个子串
2、$&:前一次成功模式匹配的字符串
3、$`:前次匹配成功的子串之前的内容
4、$’:前次匹配成功的子串之后的内容
5、$+:前一次使用括号的模式匹配的字符串.
二、文件句柄特殊变量:
1、$|:如果设置为零,在每次调用函数write或print后,自动调用函数fflush,将所写内容写回文件
2、$%:当前输出页号
3、$=:当前每页长度
4、$-:当前页剩余的行数
5、$~:当前报表输出格式的名称.默认值是文件句柄名.
6、$^:当前报表输出表头格式的名称.默认值是带后缀”_TOP”的文件句柄名.
三、全局特殊变量:
1、$_和$ARG:默认输入和模式匹配内容.如果不指定接收输入的变量或执行模式匹配的字符串
2、$.和$NR:前一次读的文件句柄的当前行号
3、$/和$RS:输入记录分隔符,默认是新行字符.如用undef这个变量,将读到文件结尾
4、$,的$OFS:输出域分隔符.
5、$\和$ORS:输出记录分隔符
6、$: :断行字符,默认是”\n-”三个字符
7、$!:这个变量的数字值是errno的值,字符串值是对应的系统错误字符串
8、$@:命令eval的错误消息.如果为空,则表示上一次eval命令执行成功
9、$$:运行当前Perl脚本程序的进程号
10、$<:当前进程的实际用户号
11、$>:当前进程的有效用户号
12、$(:当前进程的实际组用户号
13、$):当前进程的有效组用户号
14、$[:数组的第一个元素的下标,默认是0
15、$]:Perl的版本号
16、$ARGV:当使用”< >”读文件时,保存当前文件名
四、全局特殊数组变量:
1、@ARGV:保存命令行参数
2、@INC:保存查找Perl程序的目录
3、@_:在子程序内,这个数组变量包含传递给子程序的参数
4、%INC:散列表%INC包含所有用do或require语句包含的文件.关键字是文件名,值是这个文件的路径
5、%ENV:包含当前环境变量
五、全局特殊文件句柄
1、ARGV:遍历数组变量@ARGV中的所有文件名的特殊文件句柄
2、STDERR:标准错误输出句柄
3、STDIN:标准输入句柄
4、STDOUT:标准输出句柄

原文地址:https://www.cnblogs.com/fpga/p/1619728.html