while( ) { if ($pid[$i] = fork) { 親(何もしない) } elsif (defined $pid[$i]) { 子(並列処理) exit; } else { fork失敗 } } foreach(@pid) { # 子のwait ("wait"ではダメ(子が一つ終了すると抜ける)) $cpid = waitpid $_, 0; } exit;