my $e; { local $@; my $result = eval { AppAction (\%opt ) }; if (!defined $result) { # died... $e = $@; printf "result : %s, e : %s\n", defined $result?sprintf "%d", $result: 'undef', $@; } chomp $e; } printf "AppAction failed ($e)\n" if $e; $EXITCODE = 0;