未完放流

終わりなど無い、有るのは試練だけだ……

Perlは終わったのか?

色んなプログラミング言語人気ランキングで下降気味ですが、 個人的には好きです。と言っても最近は専らUNIXフィルタ用に使っています。

Windows95ブームから2000年前後位まではCGI=Perl位の雰囲気がありました。 最近では標準モジュールにCGIが含まれなくなったと聞き、時代の移り代わりを感じた人も多いのではないでしょうか?

Perl6もリリースされて大分経ちますが、別物って言われていますし結局触ってないです。

Pythonistには、Perlのコードは「汚い、分かり難い」などとよく言われます。 昔、5000行ぐらいの小さなPythonプログラムは組んだ後に Perlをみると何だかごちゃごちゃに見えた記憶があります。

Pythonの哲学を記法の収束に例えるならPerlは発散かもしれません。 (あくまで個人の感想です。プログラム熟練者などからは間違いと言われるかも?)

超絶省記法!?

Perlは慣れると短いコードが書けるのも面白いです。 ある人がswiftで組んだものを60%程度の行数に書き直した例を見たことがあります。

テキストファイルを読み込んで出力するだけのUNIXのフィルタプログラムに使うようなスケルトンを例にしましょう。

私が学び始めたときに使った参考書 *1 にならって書くとこんな感じですが、

open(FR, $ARGV[0]);
while(<FR>){
    print $_;
}
close(FR);

良し悪しはおいて、実は以下のコードでも同じような結果が得られます

while(<>){
   print;
}

これを知った時にはやり過ぎだろうと思ったのですが、 シェルスクリプトを書く際、awk & sed で対応し辛い処理が必要になった時には重宝します。 正規表現はあまり理解しておりませんが、他のスクリプトと比べると糖衣構文が断然使いやすいと思います。

……10年後のPerlは? 

Linuxなどにまだ標準インストールされているのでしょうか、awk & sed にとって変わるのか、 はたまたJavascriptのように奇跡的な復活劇があるのでしょうか?

修行が無駄にならないことを祈ります。

*1:当時使っていたのはこちら

独習Perl

独習Perl

現在は第二版が出ているようです
独習Perl 第2版

独習Perl 第2版