特殊变量

来源:互联网 发布:java的反射机制详解 编辑:程序博客网 时间:2024/05/16 06:04

* 特殊变量 *

  • 通常以$,@,%作为前缀
  • 有些特殊变量有很长的英文名,想使用英文名的特殊变量,需要在投不添加use English;

    全局标量特殊变量

    $_ 默认输入和模式匹配内容。 $ARG $. 前一次读的文件句柄的当前行号 $NR $/ 输入记录分隔符,默认是新行字符。如用undef这个变量,将读到文件结尾。 $RS $, 输出域分隔符 $OFS $\ 输出记录分隔符 $ORS $” 该变量同 $,类似,但应用于向双引号引起的字符串(或类似的内插字符串)中内插数组和切片值的场合。默认为一个空格。 $LIST_SEPARATOR $; 在仿真多维数组时使用的分隔符。默认为 “\034”。 $SUBSCRIPT_SEPARATOR $^L 发送到输出通道的走纸换页符。默认为 “\f”. $FORMAT_FORMFEED $: The current set of characters after which a string may be broken to fill continuation fields (starting with ^) in a format. Default is “\n”“. $FORMAT_LINE_BREAK_CHARACTERS $^A 打印前用于保存格式化数据的变量 $ACCUMULATOR $# 打印数字时默认的数字输出格式(已废弃)。 $OFMT $? 返回上一个外部命令的状态 $CHILD_ERROR $! 这个变量的数字值是errno的值,字符串值是对应的系统错误字符串 OSERRORorERRNO $@ 命令eval的错误消息.如果为空,则表示上一次eval命令执行成功 $EVAL_ERROR $$ 运行当前Perl脚本程序的进程号 PROCESSIDorPID $< 当前进程的实际用户号 REALUSERIDorUID $> 当前进程的有效用户号 EFFECTIVEUSERIDorEUID $( 当前进程的实际组用户号 REALGROUPIDorGID $) 当前进程的有效组用户号 EFFECTIVEGROUPIDorEGID $0 包含正在执行的脚本的文件名 $PROGRAM_NAME $[ 数组的数组第一个元素的下标,默认是 0。 $]Perl的版本号 $PERL_VERSION $^D 调试标志的值 $DEBUGGING $^E 在非UNIX环境中的操作系统扩展错误信息 $EXTENDED_OS_ERROR $^F 最大的文件捆述符数值 $SYSTEM_FD_MAX $^H 由编译器激活的语法检查状态 $^I 内置控制编辑器的值 $INPLACE_EDIT $^M 备用内存池的大小 $^O 操作系统名 $OSNAME $^P 指定当前调试值的内部变量 $PERLDB $^T 从新世纪开始算起,脚步本以秒计算的开始运行的时间 $BASETIME $^W 警告开关的当前值 $WARNING $^X Perl二进制可执行代码的名字 $EXECUTABLE_NAME $ARGV 从默认的文件句柄中读取时的当前文件名

    全局数组特殊变量

    @ARGV传给脚本的命令行参数列表@INC在导入模块时需要搜索的目录列表@F 命令行的数组输入

    全局哈希特殊变量

    %INC

    散列表%INC包含所有用do或require语句包含的文件.关键字是文件名,值是这个文件的路径

    %ENV

    包含当前环境变量

    %SIG

    信号列表及其处理方式

    全局特殊文件句柄

    ARGV

    遍历数组变量@ARGV中的所有文件名的特殊文件句柄

    STDERR

    标准错误输出句柄

    STDIN

    标准输入句柄

    STDOUT

    标准输出句柄

    DATA

    特殊文件句柄引用了在文件中 __END__ 标志后的任何内容包含脚本内容。或者引用一个包含文件中__DATA__ 标志后的所有内容,只要你在同一个包有读取数据,__DATA__ 就存在。

    _ (下划线)

    特殊的文件句柄用于缓存文件信息(fstat、stat和lstat)。

    全局特殊常量

    __END__

    脚本的逻辑结束,忽略后面的文本。

    __FILE__

    当前文件名

    __LINE__

    当前行号

    __PACKAGE__

    当前包名,默认的包名是main。

    正则表达式特殊变量

    $n

    包含上次模式匹配的第n个子串

    $&

    前一次成功模式匹配的字符串

    $MATCH

    $`

    前次匹配成功的子串之前的内容

    $PREMATCH

    $’

    前次匹配成功的子串之后的内容

    $POSTMATCH

    $+

    与上个正则表达式搜索格式匹配的最后一个括号。例如:

    /Version: (.*)|Revision: (.*)/ && ($rev </span><span class="pun">=</span><span class="pln"> $+);

    $LAST_PAREN_MATCH

    文件句柄特殊变量

    $|

    如果设置为零,在每次调用函数write或print后,自动调用函数fflush,将所写内容写回文件

    $OUTPUT_AUTOFLUSH

    $%

    当前输出页号

    $FORMAT_PAGE_NUMBER

    $=

    当前每页长度。默认为 60。

    $FORMAT_LINES_PER_PAGE

    $-

    当前页剩余的行数

    $FORMAT_LINES_LEFT

    $~

    当前报表输出格式的名称。默认值是文件句柄名。

    $FORMAT_NAME

    $^

    当前报表输出表头格式的名称。默认值是带后缀”_TOP”的文件句柄名。

    $FORMAT_TOP_NAME

原创粉丝点击