PERL各个符号代表的意思

$- 当前页可打印的行数,属于Perl格式系统的一部分
$! 根据上下文内容返回错误号或者错误串
$” 列表分隔符
$# 打印数字时默认的数字输出格式
$$ Perl解释器的进程ID
$% 当前输出通道的当前页号
$& 与上个格式匹配的字符串
$( 当前进程的组ID
$) 当前进程的有效组ID
$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.
$, 当前输出字段分隔符
$. 上次阅读的文件的当前输入行号
$/ 当前输入记录分隔符,默认情况是新行
$: 字符设置,此后的字符串将被分开,以填充连续的字段.
$; 在仿真多维数组时使用的分隔符.
$? 返回上一个外部命令的状态  my $ret = $? >>8 if($ret) error
$@ Perl解释器从eval语句返回的错误消息 $EVAL_ERROR
$[ 数组中第一个元素的索引号
$\ 当前输出记录的分隔符
$] Perl解释器的子版本号
$^ 当前通道最上面的页面输出格式名字
$^A 打印前用于保存格式化数据的变量
$^D 调试标志的值
$^E 在非UNIX环境中的操作系统扩展错误信息
$^F 最大的文件捆述符数值
$^H 由编译器激活的语法检查状态
$^I 内置控制编辑器的值
$^L 发送到输出通道的走纸换页符
$^M 备用内存池的大小
$^O 操作系统名
$^P 指定当前调试值的内部变量
$^R 正则表达式块的上次求值结果
$^S 当前解释器状态
$^T 从新世纪开始算起,脚步本以秒计算的开始运行的时间
$^W 警告开关的当前值
$^X Perl二进制可执行代码的名字

$_ 默认的输入/输出和格式匹配空间

@ARGV 传给脚本的命令行参数列表

@INC 在导入模块时需要搜索的目录列表
@ISA 数组中列出的类(包)表明了当前类的父类(parent class)或基类(base class)。它是Perl赖以实现继承的方式。@ISA数组中含有类(包)的列表,当Perl在当前类(包)中无法找到所需方法时,便会在该数组列出的类中查找。如果还是找不到的话,Perl还会搜索并调用AUTOLOAD函数。如果仍然找不到的话,Perl会在预定义的UNIVERSAL包中进行最后的搜索。UNIVERSAL类时所有包的全局基类,也是类继承机制中位于最顶层的类。


在通常的子例程调用过程中,并不会搜索@ISA数组。但如果用户以调用方法的语法来调用子程序的话,程序就会去搜索@ISA数组。


  @ISA     = qw(Exporter Net::Cmd IO::Socket::INET);
  
vars 是一个Perl的pragma,用来预定义全局变量。这些预定义后的全局变量qw()列表中的在整个Perl文件中皆可使用,使用了use strict也不会报警:
use vars qw($TELNET_IAC $TELNET_IP $TELNET_DM);
($TELNET_IAC,$TELNET_IP,$TELNET_DM) = (255,244,242);


$-[0]和$+[0] 代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置
|- 打开一个“输出到”管道,那么你就可以向你打开的这个文件句柄写数
-| 打开一个“来自”管道,那么你可以从这个文件句柄读取数据


#!/usr/bin/perl
print $_.”\n”;#缺省输入。
print @_.”\n”;#函数参数


#局域变量
print $&.”\n”;#当字符串用于模式匹配时,字符串被分成了三部分:匹配以前的部分,匹配上的部分,匹配以后的部分。任何部分都可能是空,这个变量指最近一次匹配上的字符串。
print $’.”\n”;#匹配部分以后的部分。
print $`.”\n”;#最近一次匹配,匹配部分以前的部分。
print $+.”\n”;#最后一个圆括号中的子表达式匹配的部分。
print $*.”\n”;#缺省情况下,Perl 为了加快匹配速度,假设模式中不包括新行,也就是只执行单行匹配。如果要执行多行匹配,就要把此值设成 1。
print @+.”\n”;#这个数组保存当前匹配的最后成功子匹配的结尾的偏移量。$+[0]是整个匹配的偏移量。$+[1]是$1 结束的偏移量,$+[2]是$2 结束的偏移量。
print @-.”\n”;#$-[0] 是最后一个成功的匹配的开始的偏移量。$-[n]是第 n 个子模式的偏移量,或 undef,如果没有匹配上的话。$-[0]也可

以看成是整个匹配开始的偏移量。$-[1]是$1开始的地方,$-[2] 是$2 开始的地方,依次类推。
print

#输入、输出变量
print $..”\n”;#最近一次执行读操作的当前行数。显式的关闭文件句柄重置行数。
print $/.”\n”;#输入记录分隔符,缺省值是新行。
print $,.”\n”;#print操作的输出域分隔符。
print $\..”\n”;#print 操作的输出记录分隔符。通常用于省略换行符。
print $”.”\n”;#当数组转换成字符串时,元素缺省以空格分隔(例如,当打印数组时)。这个变量即代表这个分隔符,缺省是空格。
print $^L.”\n”;#当执行一个进纸动作时输出的字符。缺省是 \f。
print $:.”\n”;#就是目前可以作为折行的字符集合。缺省值是” \n“(也就是空白,换行字符,以及连字号)。
print $^A.”\n”;#格式化行的写收集器的当前值。


#错误变量

print $?.”\n”;#$CHILD_ERROR 包含了最近一次执行的外部程序结束状态。这些程序以办是通过管道,反小点 (”) 或system 函数执行的。
print $!.”\n”;#$OS_ERROR, $ERRNO 包含了系统的错误。如果用在数值的地方,就是系统错误码;如果用在字符串的地方,就是错误信息字符串。
print $^E.”\n”;#$EXTENDED_OS_ERROR 在某些平台,返回扩展错误信息。
print $@.”\n”;#$EVAL_ERROR 从上一个 eval 命令的 Perl 语法错误信息


#系统变量
print $$.”\n”;#运行当前脚本的 Perl 进程的 pid。
print $<.”\n”;#当前进程的实际用户标识符(uid)。
print $>.”\n”;#当前进程的有效用户标识符。
print $(.”\n”;#当前进程的实际组标识符(gid)。
print $).”\n”;#当前进程的有效组标识符。
print $0.”\n”;#正在执行的 Perl 脚本的文件名称。这个参数与执行时输入有关
print $[."\n";#数组中第一个元素的序号或子串中第一个字符的序号。缺省是 0。
print $].”\n”;#返回版本号,加上补丁级别除以 1000。
print $M.”\n”;#$M 的内容能用作紧急内存池,以便 Perl 出out-of-memory 错误时使用。使用$M 要求 Perl 进行特殊的编译。
print $^F.”\n”;#最大的系统文件描述符,通常是 2。
print $^I.”\n”;#原地编辑扩展的当前值。可使用 undef 禁止原地编辑。
print $^W.”\n”;#警告开关的当前值,真或假。
print $^T.”\n”;#当前脚本开始运行的时间。以秒为单位,从 1970年开始。
print $^O.”\n”;#编译 Perl 本身时的操作系统名称。
print $^X.”\n”;#二进制 Perl 执行文件的名称。
print $^D.”\n”;#调试标志的当前值。
print $^P.”\n”;#是否打开调试。
print $ARGV.”\n”;#当从< >读入时的当前文件名。


#其它
print @ARGV.”\n”;#命令行参数。
print $ARGV.”\n”;#当前文件的文件名,代表标准输入<STDIN>。
print @INC.”\n”;#寻找 Perl 脚本的地址表。
print %INC;#通过 do 或 requir 包含的文件名的目录。
print $#ARGV 数组长度-1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值