概要
Perlとは、ラリー・ウォールにより開発されたスクリプト言語である。
日本では、CGIを記述する言語としてよく知られている。自身のホームページを持ったことのある人の中には、Perlに触れたことのある人もいるだろう。
多様性を是としており、その気になれば(その気にならなくても?)暗号のような読みにくいプログラムも書けるが、良い子は真似しないように。
また、後方互換性に優れているため、20年前の記法がほぼそのまま通用する。一方、その高い後方互換性のために、幾つもの記法が現存している状態で、可読性の低さはよく話の種になる。少しずつ進化もしており、バージョン5.24からはオブジェクト指向にも対応(クラス化が可能)している。
高速、とりわけテキスト類の読み込みはPerlの最も得意とする分野であり、そのためログ解析やパターンマッチングなどによるテキスト処理、XMLの解析、処理などで根強い人気と需要がある。一方、CGIを利用した動的なWEBプログラミング関係はPHP、Rails、Djangoなどに取って代わられてきている傾向がある。
Windows環境では長らくActivePerlが使用されてきたが、昨今ではStrawberryPerlの使用が多くなってきている。
CPAN
Perlはモジュールで機能を追加することができるが、CPANと呼ばれるシステムを使うことでネット上に公開されている数多くのモジュールをインストールすることができる(RubyのgemやPythonのpipみたいなもの)。
Perl6 → Raku
バージョン5系列までのPerlとは別に、Perl6という言語があった。これはラリー・ウォールが設計しなおした言語で、当初Perl5の次のメジャーバージョンとなるはずだったが、Perl5との互換性がなく、別の言語であるとされた。どうしてこうなった。
そして案の定、Perl6はRakuという別物のプログラム言語となり、Perl7へとバージョンが置き換わるようになったが、実質Perl5.3xのほうが継続して使用されている。