$EXCEPTIONS_BEING_CAUGHT
$^S

解释器的当前状态。

$^S         State
---------   -------------------------------------
undef       Parsing module, eval, or main program
true (1)    Executing an eval or try block
false (0)   Otherwise

第一个状态可能发生在 $SIG{__DIE__}$SIG{__WARN__} 处理程序中。

英文名称 $EXCEPTIONS_BEING_CAUGHT 有点误导,因为 undef 值并不表示是否正在捕获异常,因为主程序的编译不会捕获异常。

此变量在 Perl 5.004 中添加。