You are viewing the version of this documentation from Perl blead. This is the main development branch of Perl. (git commit 9c9651bdfc0bf3e337e42ce9252164858de66866)
$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"?