Perl - 子プロセスにSTDINの内容を振り分ける

STDINの内容を子プロセスたちのSTDINへ順番に振り分けるスクリプト。

使いどころの例:ダウンロード並列化

url.txt にダウンロードしたい url を一行ごとに書いておく。例えば

http://www.example.com/index.html
http://example.co.jp/image.jpg
http://www.example.com/picture.png

それで以下のように実行。

cat url.txt | ./round_robin_stdin.pl --parallel 3 -- perl -MLWP::Simple -MDigest::MD5=md5_hex -ne 'chomp; getstore($_, md5_hex($_));'

...それって xargs とか AnyEvent のほうが....

code

TODO

シグナル処理