foreach ( @your_jobs ) { if ( $pid ) { # parent ; # do nothing } elsif ( defined $pid ) { # child # do something with $_ here, and then exit: exit; } else { die "fork failure $!"; } }