#! perl use strict; use warnings; use Exception::Class::TryCatch; try eval { my $bar = baz(); die 'baz failed!' if $@; }; if (my ($second, $first) = (catch, catch)) { print "(1) $first(2) $second"; } sub baz { try eval "1 = 2"; } #### 18:09 >perl 1447_SoPW.pl (1) Can't modify constant item in scalar assignment at (eval 4) line 1, at EOF (2) baz failed! at 1447_SoPW.pl line 9. 18:09 >