You are viewing the version of this documentation from Perl blead. This is the main development branch of Perl. (git commit 8bf3e2a9fc957f01ab2ee1f3eba359a5e1c56502)
$EVAL_ERROR
$@

The Perl error from the last eval operator, i.e. the last exception that was caught. For eval BLOCK, this is either a runtime error message or the string or reference die was called with. The eval STRING form also catches syntax errors and other compile time exceptions.

If no error occurs, eval sets $@ to the empty string.

Warning messages are not collected in this variable. You can, however, set up a routine to process warnings by setting $SIG{__WARN__} as described in "%SIG".

Mnemonic: Where was the error "at"?