Perlのprintfは引数を好きな順番で扱うことが出来る

何これ便利

1$ とか 2$ とかで文字列に続く引数の1番目、2番目を指定できる。perldoc -f sprintf より:

printf '%2$d %1$d', 12, 34;      # prints "34 12"

1個の引数を2回使うこともできる。CPAN本にあった例(P.155):

use Text::Xslate qw(html_escape);
# ...
sprintf '<a href="%1$s">%1$s</a>', html_escape($original);

ちなみに本ではこの例の主役は Xslate ではなく、もちろん sprintf でもなく、 URI::Find なわけだけど。どこまで載っけていいのかわからないから省略してある。


Perl CPANモジュールガイド

Perl CPANモジュールガイド