Perlで定数定義とファイルの行数カウント
Perlで多次元配列を作るときなどに予め入力ファイルの行数を知りたい、その行数を定数として保持しておきたいときがある。そのようなときは以下のようにしている。
#/usr/bin/perl use Readonly; my $filename = 'foo'; Readonly my $LEN => int(`wc $filename | cut -d' ' -f2`);
定数定義にはuse constantを使ってもいいがダブルクォーテーション内で変数展開できないなどのデメリットもあるため、Readonlyモジュールの方が便利なときもある。ただしReadonlyは最初からインストールされているわけではないので
# cpan cpan> install CPAN cpan> install Readonly
としておく必要がある。