博客
关于我
perl学习之内置变量
阅读量:798 次
发布时间:2023-02-27

本文共 1581 字,大约阅读时间需要 5 分钟。

Perl编程中的内置变量与特殊变量

Perle编程语言中拥有丰富的内置变量和特殊变量,这些变量为程序开发提供了极大的便利。本文将详细介绍这些变量的用法和作用。

正则表达式中的特殊变量

在使用正则表达式时,以下变量可以帮助你更高效地处理匹配结果:

  • $n:包含上次模式匹配的第n个子串。
  • $&:前一次成功模式匹配的字符串。
  • $:前次匹配成功的子串之前的内容。
  • $’:前次匹配成功的子串之后的内容。
  • $+:前一次使用括号的模式匹配的字符串。
  • 文件句柄中的特殊变量

    文件操作中常用的特殊变量包括:

  • $|:如果设置为零,在每次调用writeprint后,自动调用fflush将内容写回文件。
  • $%:当前输出页号。
  • $=:当前每页长度。
  • $-:当前页剩余的行数。
  • $~:当前报表输出格式的名称,默认值是文件句柄名。
  • $^:当前报表输出表头格式的名称,默认值是带后缀”_TOP”的文件句柄名。
  • 全局特殊变量

    这些变量在程序中具有全局意义:

  • $_$ARG:默认输入和模式匹配内容。
  • $.$NR:前一次读取文件句柄的当前行号。
  • $/$RS:输入记录分隔符,默认是新行字符。
  • $[:数组的数组第一个元素的下标,默认是0。
  • $]:Perl的版本号。
  • $ARGV:当使用<>读文件时,保存当前文件名。
  • 全局特殊数组变量

    这些数组变量提供了程序运行时的环境信息:

  • @ARGV:保存命令行参数。
  • @INC:保存查找Perl程序的目录。
  • @_:在子程序中,包含传递给子程序的参数。
  • %INC:包含通过dorequire包含的文件列表,键为文件名,值为路径。
  • %ENV:包含当前环境变量。
  • 全局特殊文件句柄

    这些变量提供了文件操作的控制:

  • ARGV:遍历@ARGV中的所有文件名的特殊文件句柄。
  • STDERR:标准错误输出句柄。
  • STDIN:标准输入句柄。
  • STDOUT:标准输出句柄。
  • Perl内置变量

    这些变量为程序提供了丰富的功能:

  • $$:运行当前Perl脚本程序的进程号。
  • $#:打印数字时默认的数字输出格式。
  • $%:当前输出通道的当前页号。
  • $&:与上个格式匹配的字符串。
  • $:上次阅读的文件的当前输入行号。
  • $/:当前输入记录分隔符,默认是新行字符。
  • $::字符设置。
  • $;:在仿真多维数组时使用的分隔符。
  • $?:返回上一个外部命令的状态。
  • $@:Perl解释器从eval语句返回的错误消息。
  • $[:数组中第一个元素的索引号。
  • $~:当前报告格式的名字。
  • $^:当前通道最上面的页面输出格式名字。
  • $^A:打印前用于保存格式化数据的变量。
  • $^D:调试标志的值。
  • $^E:在非UNIX环境中的操作系统扩展错误信息。
  • $^F:最大的文件捆述符数值。
  • $^H:由编译器激活的语法检查状态。
  • $^I:内置控制编辑器的值。
  • $^L:发送到输出通道的走纸换页符。
  • $^M:备用内存池的大小。
  • $^O:操作系统名。
  • $^P:指定当前调试值的内部变量。
  • $^R:正则表达式块的上次求值结果。
  • $^S:当前解释器状态。
  • $^T:从新世纪开始算起,脚本本以秒计算的开始运行的时间。
  • $^W:警告开关的当前值。
  • $^X:Perl二进制可执行代码的名字。
  • $&lt;:当前执行解释器的用户的真实ID。
  • $&gt;:当前进程的有效用户ID。
  • $[:当前进程的实际组用户号。
  • $]$:当前进程的有效组用户号。
  • $0:包含正在执行的脚本的文件名。
  • $ARGV:从默认的文件句柄中读取时的当前文件名。
  • %ENV:环境变量列表。
  • %INC:通过dorequire包含的文件列表。
  • %SIG:信号列表及其处理方式。
  • @_:传给子程序的参数列表。
  • @ARGV:传给脚本的命令行参数列表。
  • @INC:在导入模块时需要搜索的目录列表。
  • $-$+:代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置。
  • 转载地址:http://glvfk.baihongyu.com/

    你可能感兴趣的文章
    oracle账号共享
    查看>>
    Oracle闪回技术(Flashback)
    查看>>
    oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
    查看>>
    oracle零碎要点---oracle em的web访问地址忘了
    查看>>
    Oracle零碎要点---多表联合查询,收集数据库基本资料
    查看>>
    Oracle静默安装
    查看>>
    Oracle面试题:Oracle中truncate和delete的区别
    查看>>
    ThreadLocal线程内部存储类
    查看>>
    thinkphp 常用SQL执行语句总结
    查看>>
    Oracle:ORA-00911: 无效字符
    查看>>
    Text-to-Image with Diffusion models的巅峰之作:深入解读 DALL·E 2
    查看>>
    TCP基本入门-简单认识一下什么是TCP
    查看>>
    tableviewcell 中使用autolayout自适应高度
    查看>>
    Orcale表被锁
    查看>>
    svn访问报错500
    查看>>
    org.apache.ibatis.exceptions.PersistenceException:
    查看>>
    org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
    查看>>
    org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
    查看>>
    org.apache.poi.hssf.util.Region
    查看>>
    org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
    查看>>