特殊变量

* 特殊变量 *
  • 通常以$,@,%作为前缀
  • 有些特殊变量有很长的英文名,想使用英文名的特殊变量,需要在投不添加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的值,字符串值是对应的系统错误字符串
    OSERRORor ERRNO
    $@命令eval的错误消息.如果为空,则表示上一次eval命令执行成功
    $EVAL_ERROR
    $$运行当前Perl脚本程序的进程号
    PROCESSIDor PID
    $<当前进程的实际用户号
    REALUSERIDor UID
    $>当前进程的有效用户号
    EFFECTIVEUSERIDor EUID
    $(当前进程的实际组用户号
    REALGROUPIDor GID
    $)当前进程的有效组用户号
    EFFECTIVEGROUPIDor EGID
    $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
    $^XPerl二进制可执行代码的名字
    $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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值