unless (eval { ...; 1 }) { ... # handle the error in $@ } #### eval { ...; 1 } or return undef; return undef unless eval { ...; 1 };