sub func { my $arg = shift; die 'Invalid Argument' if $arg > 10; return $arg - 2; } eval { $var = func($var) }; # No exception catching. print "$var.\n"; #### sub func { my $arg = shift; return($arg, 0) if $arg > 10; return($arg - 2, 1); } my $var = 10; ($var, my $succ) = func($var); print "$var.\n"; #### sub func { my $arg = shift; return $arg . 'E0' if $arg > 10; return $arg - 2; }