my $counter; for ($counter = 1; $counter <= 3; $counter++) { $pid = fork(); if ($pid) { $child{$pid} = $counter; } else { exec "perl main.pl arg1 arg2"; exit $counter; } } while ($counter) { $doneproc = wait(); $doneval = $? >> 8; $pid = fork(); if ($pid) { $child{$pid} = $counter; $counter++; } else { exec "perl main.pl arg1 arg2"; exit $counter; } }