Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: util::systemcmd()



<20020905.010333.74740792.baba@xxxxxxxxxxxxxxxx>の記事において
baba@xxxxxxxxxxxxxxxxさんは書きました。

>> しばらく考えていたのですが、pl/util.pl での systemcmd() を、以下の
>> ような感じにするのはどうでしょうか。open3() あるいは system(LIST) 
>> で起動したコマンドのstdout出力およびstderr出力へのファイルハンドル
>> を返し値に含めてしまうというものです。あんまり普通じゃないことは承
>> 知していますが、フィルタは簡潔にできるという特長があります。

  どちらかといえば普通だと思いますよ。むしろ type glob で渡す Open3 の
方が特殊ではないかと思います。多分旧来の file handle を扱うためなんで
しょうけど。

>> テストプログラムで試した感じでは、Linux ではいずれでも動きますが、
>> Windows98 だと Open3 版は呼び出すプログラムによって動くものと動か
>> ないものとがあるようです。後者のものなら試した範囲ではだいたい動く
>> ようです。NT系でどうなっているかはわかりませんが。

  IPC::Open3 の方が簡潔で好みではあるのですが、portability を考えると
system() で実装したものが良さそうですね...

  一度 HEAD に適当な branch を切って、system()版を commit してみてもら
えませんか? こちらでも確認してみようと思います。

# pdf.pl と msword.pl はこれで `` から開放されそうですが、man.pl の方
# はそうもゆかないような...
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx
	knok@xxxxxxxxxx / knok@xxxxxxxxxx