全局特殊标量
$_
$_是迭代循环时,当前循环的变量。以下情况默认变量使用$_:
1.只有一个操作数的单目函数,以及除-t以外的所有文件测试操作(-f,-d等);
2.各种列表函数,print等;
3.没有使用=~时的模式匹配操作:m//,s///,tr///;
4.foreach循环的默认迭代变量;
5.grep,map的隐含迭代变量;
6.while读文件内容,或者glob操作符的结果作为while的唯一操作元素时。?
$0
当前perl脚本的文件名
$AGRV
从默认文件句柄中读取时的当前文件名
全局特殊数组
@_
子程序参数列表
@ARGV
传给脚本的命令行参数
@F
命令行的数组输入?
@INC
导入模块搜索目录
全局特殊哈希
%ENV
当前环境变量
全局特殊句柄
ARGV
变量@ARGV中所有文件名的特殊文件句柄
STDERR,STDIN,STDOUT
if(@ARGV){
while(<>){ #同while(<ARGV>){,ARGV是@ARGV中的文件名的句柄
print "$ARGV:\t$_\n"; #$ARGV是当前<>操作的句柄指向的文件名,$_是从文件读出的每一行.
#print STDOUT ""$ARGV:\t$_\n"; #同上行,print默认打印到STDOUT句柄,即屏幕
}
}
else{
say "without para";
}
全局特殊常量
__END__, __FILE__, __LINE__, __PACKAGE__
正则表达式特殊变量
$n
上次模式匹配的第n个字符串
$&
上次成功模式匹配的字符串
$`
上次匹配成功的字符串之前的字符串
$'
上次匹配成功的字符串之后的内容
$+
最后一个捕获组的内容