my $file = "hallowelt.pl"; my $return; if (not ($return = do $file) ) { warn "couldn't parse $file: $@" if $@; warn "couldn't do $file: $!" unless defined $return; warn "couldn't run $file" unless $return; }