書式指定子に変数の値を用いる
行番号を表示するスクリプトを書いていて,行の桁数を揃えるために
printf関数などの書式指定子に変数の値を使いたいというシチュエーションになった
以下のように変数名を{}でくくれば大丈夫
my $line_number = 1; my $digit_number = 3; while(<IN>){ printf("%${digit_number}d: ", $line_number++); print $_; }
%02dとか,余っている桁に0を入れるような記述にしたらうまくいかなかった
例: printf("%0${digit_number}d: ", $line_number++);
%をエスケープしてもダメ.指定したい場合はどうするんだろう?
上記の記述でうまく動作することを確認.sprintf関数がダメだったみたい.