our $ctr = 0; say "processing duplicates..."; LOOP: foreach my $pid (@duplicated) { $pm->start and next LOOP; # do the fork unless ($ctr % 1000) {say $ctr;} $ctr++; #do stuff $pm->finish; # exit the child process }