• ベストアンサー

Perlでイベント処理?

ようやくPerlに慣れてきて、ふと思ったのですが VBではイベントというものがあり、Perl Tkでもキーボード・マウスのイベントの処理ができる みたいですが、クライアントでソケット受信した場合、いつ受信するかわかりませんので ループしていれば良いのですが、ループしている間は、他の実行が何も出来ず効率も悪いなと 思うようになりました。 WindowsのPerl5.6を使っているのですが、ソケット等、イベント処理できる方法はあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

PerlでWindows風にsoketを扱う方法は知りませんが、接続待ちをするのであれば accept をするだけですよ。acceptの中で外部からの接続があるまで停止します(OSは接続があるまでそのプロセスをsleep状態にしている筈です)。その最中に他のことをしたいなら fork してやれば良いんじゃないでしょうか。但しWindows用のPerlのforkがどう動くのか私は知りません。(UNIXなら子プロセスに分離します)