2007-09-13 非同期処理関数 Perl 少し前の日記で書いた関数CGI用関数はCGI用なのだけれども、stdout, stderr閉じ忘れていたのでちょっと修正。 sub async(&@) { my $async = shift; unless (my $pid = fork()) { close(STDOUT); close(STDERR); # 子プロセスは裏で指定された処理を行う eval {&$async}; if ($@) { die $@; } exit(0); } }