sub main_code { while(1) { eval{ fork_and_do_stuff() }; print STDERR "error, but we go on anyways\n"; } } sub fork_and_do_stuff { my $pid = fork if( $pid == 0 ) { ## simplified... do_stuff(); exit 1; } }