perl特殊变量内置

Perl 语言中定义了一些特殊的变量,通常以 $, @, 或 % 作为前缀,例如:$_。

很多特殊的变量有一个很长的英文名,操作系统变量 $! 可以写为 $OS_ERROR。

如果你想使用英文名的特殊变量需要在程序头部添加 use English;。这样就可以使用具有描述性的英文特殊变量。

1

#!/usr/bin/perl
use warnings;
@array = qw(a b c d);
foreach (@array) {
print $_,”\n”;
}

foreach循环的标准格式应该是:

foreach $element (@array){
……
}

foreach (@array) 实际上就是等于 foreach $_ (@array),在这里,$_是默认是输入/输出,因此,如果在程序中有类似的没有明确声明的变量位置的时候,就有可能能使用$_代替。

2

再看另外一个内置变量

perl -e “sleep(5);print qq(The PID of process perl.exe is : $$)”;

这是一句命令行上使用的perl程序,作用就是打印出一段话:print qq(The PID of process perl.exe is : $$) ,在这里,存在着特殊变量$$ ;

$$是当前perl解析器的进程ID(即,PID),大家可以将在段程序写在命令行上,该程序会在perl解析器运行5秒后打印出perl解析器的进程ID,大家可以在程序运行期间通过查看进程列表来确定打印结果是否正确(^_^不会错的)。

3

接下来是一个用来返回错误信息(或是错误号)的特殊变量
为了省事,不写程序了,还是来个命令行的吧

perl -e “opendir FH,’c:\none’ or die qq(can’t open:$!);”;

这句话就是要打开C盘下的一个none目录(而实际上我的C盘中并没有此目录,之所以这样写的目的就是为了引起一个程序中的错误信息),如果没有打开的话,会执行后面的die qq(can’t open:$!)

在这里,$!就指明了错误信息的内容,命令行会返回错误信息:

can’t open:No such file or directory at -e line 1.

$!在open或是opendir中用的比较多(无论是打开文件还是管道或是其他)

其他各种特殊变量详见http://www.runoob.com/perl/perl-special-variables.html

猜你喜欢

转载自blog.csdn.net/qq_27292549/article/details/81165764