>>591
これでどうよ。

$| = 1;
%children = ();
$SIG{CHLD} = sub {
 $p = wait;
 delete $children{$p};
};
while (1) {
 while (scalar(%children) >= 10) {
  print "子の数が上限値です\n";
  sleep;
 }
 $children{$pid = fork()} = 1;
 $j++;
 if (!$pid) {
  $time = int(rand(10));
  print "これは$j個めの子プロセスです、$time秒の処理をします\n";
  sleep($time);
  exit(0);
 }
}