foreach my $row (@$sections) { if (my $pid = fork) { push @pids, $pid; } else { open BIDS, ">>", $CONFIG{BIDS_FOLDER} . "{currentsite}_" . $row->[0] . ".svd" or die "Could't open bids file!"; flock(BIDS, 2); print "$site_id, $row->[0], $row->[1]\n"; $found += search_bids( $site_id, $row->[0], $row->[1] ); flock(BIDS, 8); close BIDS; exit; } } for (my $i = 0; $i <= $#pids; $i++) { waitpid($pids[$i], 0); }