eval { do_whatever() }; if ($@) { # handle error ... } #### my $res = eval { do_whatever() }; if ($@) { # handle error ... } # use $res here; #### eval { do_whatever(); 1 } or print "failed!\n";