本文共 1581 字,大约阅读时间需要 5 分钟。
Perle编程语言中拥有丰富的内置变量和特殊变量,这些变量为程序开发提供了极大的便利。本文将详细介绍这些变量的用法和作用。
在使用正则表达式时,以下变量可以帮助你更高效地处理匹配结果:
$n:包含上次模式匹配的第n个子串。$&:前一次成功模式匹配的字符串。$:前次匹配成功的子串之前的内容。$’:前次匹配成功的子串之后的内容。$+:前一次使用括号的模式匹配的字符串。文件操作中常用的特殊变量包括:
$|:如果设置为零,在每次调用write或print后,自动调用fflush将内容写回文件。$%:当前输出页号。$=:当前每页长度。$-:当前页剩余的行数。$~:当前报表输出格式的名称,默认值是文件句柄名。$^:当前报表输出表头格式的名称,默认值是带后缀”_TOP”的文件句柄名。这些变量在程序中具有全局意义:
$_和$ARG:默认输入和模式匹配内容。$.和$NR:前一次读取文件句柄的当前行号。$/和$RS:输入记录分隔符,默认是新行字符。$[:数组的数组第一个元素的下标,默认是0。$]:Perl的版本号。$ARGV:当使用<>读文件时,保存当前文件名。这些数组变量提供了程序运行时的环境信息:
@ARGV:保存命令行参数。@INC:保存查找Perl程序的目录。@_:在子程序中,包含传递给子程序的参数。%INC:包含通过do或require包含的文件列表,键为文件名,值为路径。%ENV:包含当前环境变量。这些变量提供了文件操作的控制:
ARGV:遍历@ARGV中的所有文件名的特殊文件句柄。STDERR:标准错误输出句柄。STDIN:标准输入句柄。STDOUT:标准输出句柄。这些变量为程序提供了丰富的功能:
$$:运行当前Perl脚本程序的进程号。$#:打印数字时默认的数字输出格式。$%:当前输出通道的当前页号。$&:与上个格式匹配的字符串。$:上次阅读的文件的当前输入行号。$/:当前输入记录分隔符,默认是新行字符。$::字符设置。$;:在仿真多维数组时使用的分隔符。$?:返回上一个外部命令的状态。$@:Perl解释器从eval语句返回的错误消息。$[:数组中第一个元素的索引号。$~:当前报告格式的名字。$^:当前通道最上面的页面输出格式名字。$^A:打印前用于保存格式化数据的变量。$^D:调试标志的值。$^E:在非UNIX环境中的操作系统扩展错误信息。$^F:最大的文件捆述符数值。$^H:由编译器激活的语法检查状态。$^I:内置控制编辑器的值。$^L:发送到输出通道的走纸换页符。$^M:备用内存池的大小。$^O:操作系统名。$^P:指定当前调试值的内部变量。$^R:正则表达式块的上次求值结果。$^S:当前解释器状态。$^T:从新世纪开始算起,脚本本以秒计算的开始运行的时间。$^W:警告开关的当前值。$^X:Perl二进制可执行代码的名字。$<:当前执行解释器的用户的真实ID。$>:当前进程的有效用户ID。$[:当前进程的实际组用户号。$]$:当前进程的有效组用户号。$0:包含正在执行的脚本的文件名。$ARGV:从默认的文件句柄中读取时的当前文件名。%ENV:环境变量列表。%INC:通过do或require包含的文件列表。%SIG:信号列表及其处理方式。@_:传给子程序的参数列表。@ARGV:传给脚本的命令行参数列表。@INC:在导入模块时需要搜索的目录列表。$-和$+:代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置。转载地址:http://glvfk.baihongyu.com/