詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

Shipped ARGV::JSON 0.01

English entry is here.

ARGV::JSON というモジュールをリリースいたしました。Perl では <> という特殊な演算子で、プログラム引数として与えられたファイルやら標準入力やらをよしなに読み込むことができます(デフォルトだと行ごと)が、この ARGV::JSON を use しておくと、<> から 1 行読み込む代わりに、パースされた JSON データが返ってくるようになります。

実例を見ると明らかでしょう:

% curl -s https://api.github.com/users/motemen | perl -MARGV::JSON -E 'say <>->{blog}'
http://motemen.github.io/

jq のようなことが Perl でもできますね!

perlワンライナーで便利な -n-p といったオプションも <> を利用しているので、$_ を使った形のコードにすることもできます:

% curl -s https://api.github.com/users/motemen | perl -MARGV::JSON -nE 'say $_->{blog}'
http://motemen.github.io/

ちなみに複数の JSON が与えられた場合はそれを順番に読んでいくようになってます。どうぞご利用ください。

はてなで一緒に働きませんか?