perl: $&, $@, $!, exit status

$&: 正则匹配中,将匹配的那部分字符串自动存储在$&中。

 

$@: 当执行eval块时发生了通常的严重错误,eval块会停止执行,但程序不会崩溃。当eval结束时,你想知道它是正常结束的,

还是发生了严重错误。这些结果放在特殊变量$@之中。如果eval为你捕捉了严重错误,则$@中将有程序失败的原因,可

能如:Illegal division by zero at my_program line 12。如果没有错误,则$@为空。这意味着$@是一个有用的Booleantrue/false

(真,表示有错误)

 

$!: 它是系统产生的一些可读的信息。通常,当系统拒绝了我们的请求(如打开文件),$!将告诉你原因。

但如果使用die来表明的错误不是系统请求失败引起的,则不要使用$!,因为其包含的信息和实际的问题无关。它所包含的信息,仅对系统请求失败时有效。

 

exit status: 传统上,0表示成功,非0表示失败。可能1是指命令行中命令参数的语法错误,2指运行错误,3指没有找到配置文件;具体

情况和具体程序相关。但0通常是指一切正常。

猜你喜欢

转载自blog.csdn.net/xs1326962515/article/details/78967711