Perlでshellのパイプっぽいのを書いてみた
ちょっと perlipc(Perl でのプロセス間通信)について調べてて、どうやったら shell 展開させずに、プロセスを shell のパイプでつないだみたいにできるかなーと思って、何の生産性もないことは覚悟の上で再実装してみた。
追記
IPC::Run
ってモジュールがあるよと gfx さんに教えて頂いたので調べてたら、これで十分同じことがやれそうだったので書きなおしてみました。
比較すれば、ややこしい部分が全部IPC::Run
に隠蔽されているので相当理解しやすくなりました!Thx gfx!
エラーハンドリングしてないし、ハンドルとかよく分かってないけど、とりあえず想定の動きはさせられた。
IPC::Open2
とか使ってできそうな気もするんですが、どう書いたらいいのか分からず。
自分でやりたいことは上で書けたっぽいから、open2 の方を頑張って調べる気が起こらないので、何かヒントをお持ちの方がいれば教えて頂きたい。ざっとソース見る限り open2(というか実体は open3)にパッチ当てればいけそうな気はしなくもないけど(open してるところ辺り)。。。