sub wrapper { eval { ## do some stuff that might die }; if ($@) { ## handle some error things, die if unrecoverable return 0; # returns false if recoverable } return 1; #returns true if we should retry }