3scan.pl 作成メモ  一言で書くと、fork() が使いたかっただけなのです。スキャン範囲を三分割して、各 プロセスで分担させているだけです。もっと細かく分割してプロセス数を増やせば更に 速くなりますが、素直に nmap を使えばいい話ですね。  恥ずかしいことに随分理解に苦しんだのですが、fork() は「プログラムのコピーを作る」と 考えるより、例えばそのプログラムのソースを読み進めている人がいて、fork() が実行された 時点でその人のクローンが隣に現れるというようなイメージで考えると分かりやすいと 思います。二人ともそのままソースを読み進める訳ですから、fork()前に出てきたグローバル 変数はそのまま使えます。ただ、どちらがクローン(子プロセス)かを区別する手だてとして fork() の返り値が有ります。$hoge=fork; として、$hoge が 0 の方がクローンです。 これが親子判定に使えます。…逆に分かりにくいですか。  あと、考えれば当たり前のことですが fork() は使う毎にプロセス数が倍になります。 #!/usr/bin/perl fork(); fork(); fork(); system('date');  これで 8 回、date が実行されるという具合。まさに鼠算式です。下手にforkを使いまくると システムが落ちるので気を付けましょう。私はやってしまいました(しかも他人のシステムで)。  fork() で生まれたクローンは完全に別個のプロセスなので、クローンの方で exit; しても 親プロセスは終わりません。ポーのウィリアム・ウィルスンのようにはならない訳です。  あと、サブルーチンにファイルハンドルを渡す時は \*HANDLE とすると知りました。 まだまだ勉強不足を痛感…。  A.D.200X 近いですね。頑張って下さい。> 関係者各位 written by White_E