eval { # your code here } or do { if ($@) { #respond to error $@ } else { print STDERR "Something bad happened at " . __FILE__ . ", line " . __LINE__ . " but I don't know what!\n". } }