$! 根据上下文内容返回错误号或者错误串 $- 当前页可打印的行数,属于Perl格式系统的一部分 $” 列表分隔符 $# 打印数字时默认的数字输出格式 $$ Perl解释器的进程ID $% 当前输出通道的当前页号 $& 与上个格式匹配的字符串 $( 当前进程的组ID $) 当前进程的有效组ID $* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之. $, 当前输出字段分隔符 $. 上次阅读的文件的当前输入行号 $/ 当前输入记录分隔符,默认情况是新行 $: 字符设置,此后的字符串将被分开,以填充连续的字段. $; 在仿真多维数组时使用的分隔符. $? 返回上一个外部命令的状态 $@ Perl解释器从eval语句返回的错误消息 $[ 数组中第一个元素的索引号 $\ 当前输出记录的分隔符 $] Perl解释器的子版本号 $^ 当前通道最上面的页面输出格式名字 $^A 打印前用于保存格式化数据的变量 $^D 调试标志的值 $^E 在非UNIX环境中的操作系统扩展错误信息 $^F 最大的文件捆述符数值 $^H 由编译器激活的语法检查状态 $^I 内置控制编辑器的值 $^L 发送到输出通道的走纸换页符 $^M 备用内存池的大小 $^O 操作系统名 $^P 指定当前调试值的内部变量 $^R 正则表达式块的上次求值结果 $^S 当前解释器状态 $^T 从新世纪开始算起,脚步本以秒计算的开始运行的时间 $^W 警告开关的当前值 $^X Perl二进制可执行代码的名字 $_ 默认的输入/输出和格式匹配空间 $| 控制对当前选择的输出文件句柄的缓冲 $~ 当前报告格式的名字 $` 在上个格式匹配信息前的字符串 $’ 在上个格式匹配信息后的字符串 $+ 与上个正则表达式搜索格式匹配的最后一个括号 $< 当前执行解释器的用户的真实ID $ 含有与上个匹配正则表达式对应括号结果 $= 当前页面可打印行的数目 $> 当前进程的有效用户ID 包含正在执行的脚本的文件名 $ARGV 从默认的文件句柄中读取时的当前文件名 %ENV 环境变量列表 %INC 通过do或require包含的文件列表 %SIG 信号列表及其处理方式 @_ 传给子程序的参数列表 @ARGV 传给脚本的命令行参数列表 @INC 在导入模块时需要搜索的目录列表 $-[0]和$+[0] 代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置 。
一 缺省变量和参数
变量名 英文名称 说明
$_ $ARG 全局标量充当函数参数以及模式寻找空
间的缺省变量
默认的输入/输出和格式匹配空间
@_ n/a 存储数组参数,访问方式: $_[num]
传给子程序的参数列表
@ARGV n/a 脚本的命令行参数
$ARGV n/a 当从空文件头<>读取时,它包含了当前文件的文件名
从默认的文件句柄中读取时的当前文件名
二 正规表达式变量
$(num) n/a n/a
$& $MATCH 最近一次成功的匹配中相匹配的字符串
$' $POSTMATCH 最近一次成功的匹配子串之后的字符串
$` $PREMATCH 最近一次成功的匹配子串之前的字符串
$+ $LAST_PAREN_MATCH 最近一次成功的匹配同一组子模式相匹配的最后
一个子串
与上个正则表达式搜索格式匹配的最后一个括号
三 输入/输出变量
$. $INPUT_LINE_NUMBER 上次阅读的文件的当前输入行号
$/ $INPUT_RECORD_SEPARATOR
$/ $OUTPUT_RECORD_SEPARATOR 当前输入记录分隔符,默认情况是新行
$| $OUTPUT_AUTOFLUSH 控制对当前选择的输出文件句柄的缓冲
$, $OUTPUT_FIELD_SEPARATOR 当前输出字段分隔符
$" $LIST_SEPARATOR 列表分隔符
$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.
$-[0] 代表当前匹配的正则表达式在被匹配的字符串中的起始的位置
$+[0] 代表当前匹配的正则表达式在被匹配的字符串中的终止的位置
四 文件句柄/格式变量
$# $OFMT 打印数字时默认的数字输出格式
$ $OUTPUT_AUTOFLUSH 当前输出记录的分隔符
$% $FORMAT_PAGE_NUMBER 当前输出通道的当前页号
$= $FORMAT_LINES_PER_PAGE 当前页面可打印行的数目
$- $FORMAT_LINES_LEFT 当前页可打印的行数,属于Perl格式系统的一部分
$~ $FORMAT_NAME 当前报告格式的名字
$^ $FORMAT_TOP_NAME 当前通道最上面的页面输出格式名字
$: $FORMAT_LINE_BREAK_CHARACTERS 字符设置,此后的字符串将被分开,以填充连续的字段
$^L $FORMAT_FORMFEED 发送到输出通道的走纸换页符
$^A $ACCUMULATOR 打印前用于保存格式化数据的变量
$; 在仿真多维数组时使用的分隔符
五 错误变量
$? $CHILD_ERROR 返回上一个外部命令的状态
$@ $EVAL_ERROR Perl解释器从eval语句返回的错误消息
$! $ERRNO #根据上下文内容返回错误号或者错误串
$^E $EXTENDED_OS_ERROR 在非UNIX环境中的操作系统扩展错误信息
六 系统变量
$$ $PROCESS_ID Perl解释器的进程ID
$< $REAL_USER_ID 当前执行解释器的用户的真实ID
$> $EFFECTIVE_USER_ID 当前进程的有效用户ID
$( $REAL_GROUP_ID 当前进程的组ID
$) $EFFECTIVE_GROUP_ID 当前进程的有效组ID
$0 $PROGRAM_NAME 包含正在执行的脚本的文件名
$^X $EXECUTABLE_NAME Perl二进制可执行代码的名字
$] n/a 数组中第一个元素的索引号
$[ n/a Perl解释器的子版本号
$^O $OSNAME 操作系统名
$^T $BASETIME 从新世纪开始算起,脚步本以秒计算的开始运行的时间
$^W $WARNING 警告开关的当前值
%ENV n/a 环境变量列表
%SIG n/a 信号列表及其处理方式
$^C $COMPILING
$^D $DEBUGGING 调试标志的值
$^F $SYSTEM_FD_MAX 最大的文件捆述符数值
$^I $INPLACE_EDIT 内置控制编辑器的值
$^M n/a 备用内存池的大小
$^P $PERLDB 指定当前调试值的内部变量
$^R $LAST_REGEXP_CODE_RESULT 正则表达式块的上次求值结果
$^S $EXCEPTIONS_BEING_CAUGHT 当前解释器状态
$^V $PERL_VERSION
$^H 由编译器激活的语法检查状态
七 其余
@INC n/a 在导入模块时需要搜索的目录列表
%INC 去n/a 通过do或require包含的文件列表[]