Perl内置特殊变量

 

一、正则表达式特殊变量:
1、$n   :包含上次模式匹配的第n个子串
2、$&   :前一次成功模式匹配的字符串
3、$`   :前次匹配成功的子串之前的内容
4、$’   :前次匹配成功的子串之后的内容
5、$+  :前一次使用括号的模式匹配的字符串.

二、文件句柄特殊变量:
1、$|  :如果设置为零,在每次调用函数write或print后,自动调用函数fflush,将所写内容写回文件
2、$%  :当前输出页号
3、$=  :当前每页长度
4、$-  :当前页剩余的行数
5、$~  :当前报表输出格式的名称.默认值是文件句柄名.
6、$^  :当前报表输出表头格式的名称.默认值是带后缀”_TOP”的文件句柄名.

三、全局特殊变量:
1、$_和$ARG  :默认输入和模式匹配内容.如果不指定接收输入的变量或执行模式匹配的字符串
2、$.和$NR  :前一次读的文件句柄的当前行号
3、$/和$RS  :输入记录分隔符,默认是新行字符.如用undef这个变量,将读到文件结尾
4、$,的$OFS  :输出域分隔符.
5、$\和$ORS  :输出记录分隔符
6、$:    :断行字符,默认是”\n-”三个字符
7、$!  :这个变量的数字值是errno的值,字符串值是对应的系统错误字符串
8、$@  :命令eval的错误消息.如果为空,则表示上一次eval命令执行成功
9、$$  :运行当前Perl脚本程序的进程号
10、$<  :当前进程的实际用户号
11、$>  :当前进程的有效用户号
12、$(  :当前进程的实际组用户号
13、$)  :当前进程的有效组用户号
14、$[  :数组的数组第一个元素的下标,默认是0
15、$]  :Perl的版本号
16、$ARGV  :当使用”< >”读文件时,保存当前文件名

四、全局特殊数组变量:
1、@ARGV  :保存命令行参数
2、@INC  :保存查找Perl程序的目录
3、@_  :在子程序内,这个数组变量包含传递给子程序的参数
4、%INC  :散列表%INC包含所有用do或require语句包含的文件.关键字是文件名,值是这个文件的路径
5、%ENV  :包含当前环境变量
五、全局特殊文件句柄
1、ARGV  :遍历数组变量@ARGV中的所有文件名的特殊文件句柄
2、STDERR  :标准错误输出句柄
3、STDIN  :标准输入句柄
4、STDOUT  :标准输出句柄

PERL内置变量
$-   当前页可打印的行数,属于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
$0   包含正在执行的脚本的文件名
$ARGV   从默认的文件句柄中读取时的当前文件名
%ENV   环境变量列表
%INC   通过do或require包含的文件列表
%SIG   信号列表及其处理方式
@_   传给子程序的参数列表
@ARGV   传给脚本的命令行参数列表
@INC   在导入模块时需要搜索的目录列表
$-[0]和$+[0]   代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置

perl学习之内置变量的更多相关文章

  1. Perl 的内置变量$|

    $|是perl的内置变量,默认情况下是0,如果设置为非0的话,表示当前的输出不经过缓存立刻输出.相当于c语言的fflush()函数,立即刷新缓冲区. 比如你print或者write一个文件,实际是需要 ...

  2. perl学习之六:变量作用域

    变量作用域 (一)包变量 $x = 1 这里,$x是个包变量.关于包变量,有2件重要的事情要了解: 1)假如没有其他申明,变量就是包变量:2)包变量总是全局的. 全局意味着包变量在每个程序里总可访问到 ...

  3. python学习之内置函数(一)

    4.7 内置函数 4.7.1 内置函数(1) eval 执行字符串类型的代码,并返回最终结果. eval('2 + 2') # 4 n=81 eval("n + 4") # 85 ...

  4. python学习之内置函数(二)

    4.7.3 内置函数(2) int() str() bool() set() list():将一个可迭代对象转化为列表 tuple():将一个可迭代对象转换成元组 dic(): 通过相应的方式创建字典 ...

  5. Django 学习之内置Admin

    一.Admin组件 Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: Django Admin内部依赖: 依赖APP: django.contrib.au ...

  6. Perl中的特殊内置变量详解

    #!/usr/bin/perl -w @array = qw(a b c d); foreach (@array) { print $_," "; } 例子的作用就是定义一个数组并 ...

  7. Perl语言中一些内置变量等,$x、qw、cmp、eq、ne等

    转载 Perl语言中一些内置变量等,$x.qw.cmp.eq.ne等 字母 符号 释义 eq  = = equal(等于) ne != not equal(不等于) cmp 比较 qq  " ...

  8. 学习笔记——Maven 内置变量

    Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...

  9. 学习笔记:GLSL Core Tutorial – Vertex Shader(内置变量说明)

    1.每个Vertex Shader都有用户定义的输入属性,例如:位置,法线向量和纹理坐标等.Vertex Shaders也接收一致变量(uniform variables). uniform vari ...

随机推荐

  1. Debug和Release版本区别

    Debug和Release版本区别 众所周知,我们尽心iOS开发,在Xocde调试程序时,分为两种方式Debug和Release,在Target的Setting中相信大家应该能看到很多选项分别为Deb ...

  2. C#基础之析构函数

  3. linux下curl get方法传递参数

    例如 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3 web形式下访问url地址,使用$_GET是可以获取到所有的参数 然而在linu ...

  4. 《javascript设计模式》笔记之第四章:继承

    一:首先,一个简单的继承实例: 首先是创建一个父类Person: function Person(name) { this.name = name; } Person.prototype.getNam ...

  5. 将GitLab上面的代码克隆到本地

    1.安装GitLab客户端 2.去GitLab服务端找项目路径 3.去GitLab客户端去克隆代码 右键-->git Clone 4.最后结果

  6. 当获取相似数据时,使用不同方法调用不同sp,但是使用同一个方法去用IIDataReader或者SqlDataReader读取数据时需要判断column name是否存在。

    /// <summary> /// Checks clumn Name /// </summary> /// <param name="reader" ...

  7. 状态模式和php实现

    状态模式: 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类.其别名为状态对象(Objects for States),状态模式是一种对象行为型模式. 模式分析: 在很多情况下, ...

  8. JS常用的技术

    思考与总结 1.模块化 曾看到某大牛说:模块化和组件化是前端开发的一大趋势.所谓的模块化一般是指为了实现一个特定的功能而将所有的代码(对象)封装成一个模块.而AMD就是requireJS为指定模块规范 ...

  9. Java静态方法不能被覆盖

    // 静态方法不能被覆盖   /*class Super{     static String name(){         return "mother";     } }   ...

  10. nmon各配置项含义介绍

    1)nmon各配置项含义介绍