Perl内置特殊变量总结_基础教程

[ 文件句柄 ]

$| 如果非零, 则在对当前选定的文件执行写或打印操作后强制清除缓冲区
$% 当前选中文件句柄的当前页码
$= 当前选中文件句柄的当前页面长度
$- 当前选中文件句柄的页面剩余长度
$~ 当前选中文件句柄的报表格式名称
$^ 当前选中文件句柄的当前页眉格式名

[ 全局变量 ]

$_ 默认的输入和模式搜索空间
$@ 上一个 eval、do 或 require 函数产生的错误消息
$/ 输入记录的分隔符, 默认为换行符(类似于 awk 中的 RS)
$\ 打印函数的输入记录分隔符。 除非设置了 $\="\n"  否则不会打印换行符
$# 使用打印函数打印的数字输出格式(类似于 awk 中的 OMFT)
$? 上一个关闭的管道、反引号中的命令以及系统函数的返回状态
$! 根据上下文内容,返回错误号或者错误串  
$$ 运行本脚本的 Perl 程序进程 ID
$* 默认值为 0 。 如果为 1 的话, 表示在字符串中进行多行匹配; 0 表示只在单行中匹配
$, 打印函数的输出字段分隔符。 一般在以逗号隔开的字符串中不打印其定界符, 除非设置了 $,=" "
$" 与 $, 类似, 但它是在双引号中提供打印数组的, 默认值为空格
$0 Perl 脚本名
$[ 指向数组或子串的第一个字符的索引, 默认值为 0
$] 当使用 Perl - v 命令获得版本信息时打印出字符串的第一部分
$; 多维数组的下标分隔符。 默认为 \034 (类似于 awk 的 SUBSEP)
$. 读取上一个文件句柄的当前输入行号; 必须在关闭前一个文件句柄后才能对下一个文件句柄重置行号
$< 进程的实际 uid
$> 进程的有效 uid
$( 进程的实际 gid
$) 进程的有效 gid
$: 字符集, 将其后的字符串断开, 并以某种格式填入连续的行(从 ^ 处开始)。 默认是以空白字符、换行符或冒号上隔开的 \n-
$^A formline 和 write 操作的累加器
$^C 如果 Perl 使用 -c 选项在只编译的模式下运行, 则返回 TRUE
$^D 使用 -D 开关打开 Perl 调试标记
$^E 操作系统的相关出错信息
$^F 传递给子例程的最大文件描述符数, 一般是 2
$^H 语法检查的当前状态
$^I 在使用 -i 开关时, 原位编辑扩展的当前值
$^L 进纸符, 用在格式中
$^M 紧急内存池
$^O 操作系统名
$^P 内部 Perl 调试标记
$^S Perl 解释器的状态
$^T 脚本执行时间。 用于 -A、-C 和 -M 测试运算符, 可设置为 time 返回的任何数字值, 执行与当前时间有关的文件测试
$^V Perl 版本
$^W 警告开关的当前设定情况
$^X  Perl 调用的全路径名
_ 下划线, 负责在声明文件时测试文件的特殊标识符
ARGV 用于行参数循环的特殊文件句柄数组
$ARGV  从 <ARGV> 读取时, 含有当前文件名的变量
@ARGV 含有命令行参数的数组
DATA 一个特殊文件句柄变量, 负责引用 _END_ 标志后面的内容
@F 在使用 -a 开关时, 自动拆分输入行所得到的数组
@INC 一个含有文件名路径的数组, require 和 do 函数从中搜索将要导入的文件名路径
%INC 一个含有文件名路径的关联数组, require 和 do 函数将从中搜索将要导入的文件名路径。 其中键是文件名, 值是文件路径位置
%ENV 含有当前环境变量的关联数组
@EXPORT 导出时的默认符号
@EXPORT_OK 根据用户请求而导出的符号
%EXPORT_TAGS 用于 Exporter.pm 中, 负责对符号集合统一命名
%SIG 用于设置信号处理例程的关联数组
STDERR 用于标准出错内容的特殊文件句柄
STDIN 用于标准输入的特殊文件句柄
STDOUT 用于标准输出内容的特殊文件句柄
$-[0] 和 $+[0]   代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置

[ 块内局部变量 ]

$1..$9 含有与对应的一组括号的子记忆模式。(等效于\1..\9)
$& 上一次与模式相匹配的字符串(等效于 sed 编辑器)
$` 上一次与模式相匹配的项的前导字符串
$' 上一次与模式相匹配的项之后的字符串
$+ 与搜索模式相匹配的最后一个模式
@_ 传给子程序的参数列表

附:另一篇总结

一、正则表达式特殊变量:
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]   代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置 。

时间: 2025-01-29 17:48:42

Perl内置特殊变量总结_基础教程的相关文章

javascript 基础篇3 类,回调函数,内置对象,事件处理_基础知识

复制代码 代码如下: function 类名(参数表){ this.属性; ...... this.函数; } 这样,函数和数据成员都是用"this."来实现. 我们自己定义一个简单类student好了,然后再去构造它,并且实现一个输出函数. 复制代码 代码如下: <script LANGUAGE="JavaScript"> <!-- function student(a,b){ this.name = a; this.age=b; this.ou

Perl调用shell命令方法小结_基础教程

一.systemperl也可以用system调用shell的命令,它和awk的system一样,返回值也是它调用的命令的退出状态. 复制代码 代码如下: [root@AX3sp2 ~]# cat aa.pl#! /usr/bin/perl -w$file = "wt.pl";system("ls -l wt.pl");$result = system "ls -l $file";print "$result \n"; #输出命

perl 基本语法介绍_基础教程

一.数据类型(Data type): Perl 的数据类型大致分为四种:Scalar(变量).Scalar Array(数组).Hash Array(散列).References(指针),看起来虽少但用起来却绰绰有余.尤其在写Perl程序时可以不必事先宣告变量,这一点对刚学程序语言的人甚为方便,不过为了以后程序除错和维护方便,我建议你还是养成事先声明变量的习惯比较好. 1 Scalar(纯量变量): 纯量变量是Perl里最基本的一种数据型态,它可以代表一个字符.字符串.整数.甚至浮点数,而Per

Jenkins内置环境变量的使用

一.查看Jenkins有哪些环境变量 1.新建任意一个job 2.增加构建步骤:Execute shell 或 Execute Windows batch command 3.点击输入框下方的"可用环境变量"   4.可以看到有如下变量供使用:  变量名 解释 BUILD_NUMBER The current build number, such as "153" BUILD_ID The current build ID, identical to BUILD_N

Win8内置邮件应用添加账户设置教程

  在Win8系统中,内置了一个邮件应用,用户可以不打开网页,直接在电脑上收发邮件.如果是使用Windows Lice账户登入到Win8系统的话,那么邮件应用就会将该账户使用的邮箱作为默认邮箱,用户通过设置通知提醒和动态磁贴,可以注意到新邮件的到达.当然,除了默认的邮箱外,用户还可以在邮箱应用中添加其他邮箱. 通知提醒设置 通过"超级按钮"-"设置"-"更多电脑设置"-"通知"中将"应用通知"切换为&quo

Win7内置指纹识别功能使用图文教程

随着大家对计算机信息安全的的重视程度日益提高,给 Windows 帐户配置一个强壮的密码几乎成为了每个用户的标准配置,但复杂而冗长的密码字符串往往难以记忆,遇到遗忘密码的状况就会严重影响用户对计算机的使用体验.指纹识别技术的逐步普及为用户帐户密码管理提供了新的途径,计算机通过对用户指纹的扫描来自动登录对应的用户帐户.Windows 7 操作系统对于指纹识别设备提供了内置支持,您无需再为指纹识别器安装第三方应用程序即可通过Windows 7 内置的功能实现用户帐户的生物识别管理. 使用指纹识别功能

Illustrator内置素材轻松制作情人节贺卡教程分享

给各位Illustrator软件的使用者们来详细的解析分享一下内置素材轻松制作情人节贺卡的教程. 教程分享: 我们在Illustrator中新建一个文档,参数设置如图.   我们所取的素材为Illustrator自带的,用Shift+Ctrl+F11打开花朵面板,如图.   我们将需要的花朵图用鼠标点中拖到工作区就可以了.如图所示.   我们按住ALT键用鼠标拖动图象进行复制(复制是为了让花有立体感).   调整好位置,将复制之前的图象进行模糊效果,我们选择图象菜单-模糊-高斯模糊命令在弹出的对

perl 列表和数组变量详解_基础教程

一.列表   列表是包含在括号里的一序列的值,可以为任何数值,也可为空,如:(1, 5.3 , "hello" , 2),空列表:().   注:只含有一个数值的列表(如:(43.2) )与该数值本身(即:43.2 )是不同的,但它们可以互相转化或赋值.   列表例:     (17, $var, "a string")     (17, 26 << 2)     (17, $var1 + $var2)     ($value, "The an

perl 常用系统函数列表_基础教程

常用系统函数列表 指令:print语法:print Filehandle LIST说明:这个Filehandle可以看作在I(INPUT)/O(OUTPUT)之间的一个桥梁,可以利用FILEHANDLE来做出数据读入写出的动作.STDIN是代表从哪连输入数据,例如从电脑的键盘输入;STDOUT是代表从哪连输出数据;例如从电脑的屏幕输出;STDERR是代表从哪连输出错误的数据,例如从电脑的屏幕输出.而在PERL语言中有三个标准FILEHANDLE: 1.STDIN(标准输入):是代表STDIN的F