die throws an exception, and eval traps it. Error string is found in $@. The following code has the possibility of two run-time errors:
eval { $c = $a / $b; #1 die "Denominator cannot be negative" if ($b < 0); #2 }; print "Run-time error: $@";
$@ can be "Illegal division by zero" at (1) or "Denominator cannot be negative" at (2).
Copyright © 2001 O'Reilly & Associates. All rights reserved.