$&: 正则匹配中,将匹配的那部分字符串自动存储在$&中。
$@: 当执行eval块时发生了通常的严重错误,eval块会停止执行,但程序不会崩溃。当eval结束时,你想知道它是正常结束的,
还是发生了严重错误。这些结果放在特殊变量$@之中。如果eval为你捕捉了严重错误,则$@中将有程序失败的原因,可
能如:Illegal division by zero at my_program line 12。如果没有错误,则$@为空。这意味着$@是一个有用的Boolean(true/false)
值(真,表示有错误)。
$!: 它是系统产生的一些可读的信息。通常,当系统拒绝了我们的请求(如打开文件),$!将告诉你原因。
但如果使用die来表明的错误不是系统请求失败引起的,则不要使用$!,因为其包含的信息和实际的问题无关。它所包含的信息,仅对系统请求失败时有效。
exit status: 传统上,0表示成功,非0表示失败。可能1是指命令行中命令参数的语法错误,2指运行错误,3指没有找到配置文件;具体
情况和具体程序相关。但0通常是指一切正常。