eval { main () }; print STDERR "# $0: ", $@ and exit 1 if $@; exit 0; sub main { # do everything ... }