先に要点
- Perl は 1987 年に Larry Wall が作ったスクリプト言語。「テキスト処理の強さ」「正規表現が言語の核に組み込まれている」「ワンライナーが書きやすい」 という特徴で、1990〜2000 年代の Web CGI 時代を支えた。
- CPAN は Perl 文化の核となるモジュールリポジトリで、22 万以上のモジュール、4.5 万ディストリビューション、1.4 万人超の貢献者を持つ。npm / PyPI 登場の前から存在する、本格的な共有モジュール文化の元祖。
- Perl 5 と Raku(旧 Perl 6)は 別言語。Perl 6 は 2019 年に「Raku」に改名され、姉妹言語として独立した。CPAN は Perl 5 用で、Raku は別のモジュール体系を使う。
- 2026 年の Perl は TIOBE 11 位前後に上昇したが、Stack Overflow の質問は 9 年連続で減少、GitHub の活発さも縮小。ただし 開発者の平均給与は約 140,000 ドル(レガシー保守の希少価値)で、「使用率は減ったが、まだ動いているシステムを保守できる人の市場価値は高い」という特殊な立場にいる。
- 新規プロジェクトで Perl を選ぶ理由は限定的(Bun / Deno / Python / Go などモダンな選択肢が豊富)。一方、古い CGI / 業務スクリプト / 出版社・金融・通信業の社内ツールでは現役で、保守人材は不足している。
「Perl って今でも使われてるの?」「CPAN ってよく聞くけど何?」「Perl 6 は Raku になったって、結局どう違うの?」 ── Perl は 1990〜2000 年代の Web 黎明期を支えた言語で、その後 Python や Ruby、JavaScript に主役の座を譲りましたが、「現役で動いている膨大なシステムの保守」という形で 2026 年の今も静かに存在感を残しています。
ざっくり言うと、Perl は 「テキスト処理に特化したスクリプト言語」です。正規表現が言語のコア機能として組み込まれていて、ログ解析・データ変換・ワンライナーで力を発揮します。1987 年生まれと古い割に活発な更新が続いていて、2025 年に Perl 5.42 がリリースされたばかりです。
この記事では、Perl の言語特性、CPAN や Raku との関係、2026 年現在の使用率と市場価値、そして「いま新しく学ぶ価値があるか」を整理します。
Perl の歴史と立ち位置
Perl の歩みを年表で押さえると、現在の立ち位置が理解しやすくなります。
| 年 | 出来事 | 位置づけ |
|---|---|---|
| 1987 | Larry Wall が Perl 1.0 を公開 | UNIX 上のテキスト処理スクリプト言語として誕生 |
| 1994 | Perl 5.0 リリース、CPAN 開始 | オブジェクト指向対応、モジュール文化のスタート |
| 1995〜2005 | Web CGI の主力言語 | 掲示板・カウンタ・初期 Web サービスを大量に支える |
| 2000 | Perl 6 の構想発表(別言語として開発開始) | 互換性を捨てた野心的な再設計 |
| 2005〜2015 | Python / Ruby / PHP に主役交代 | Web スクリプトの中心が他言語に |
| 2019 | Perl 6 が Raku に改名 | 「Perl 5 と Raku は別言語」が公式化 |
| 2024 | Perl 5.40 リリース(`__CLASS__` キーワード、`^^` 演算子) | クラス機能とオブジェクト指向の改善 |
| 2025 | Perl 5.42 リリース(Unicode 16、any/all 演算子、性能改善) | 現代的な機能追加が継続 |
| 2026 | TIOBE 11 位前後に上昇、Perl 5.42.x 系で安定運用 | 「縮小しつつも、保守需要で高給」の独特な立場 |
「もう枯れた言語」と思われがちですが、言語本体の開発は止まっていません。むしろここ数年は、__CLASS__ キーワードやフィールドアクセサ、any / all 演算子のような現代的な機能が継続的に追加されているのが特徴です。
Perl の言語的な特徴
Perl の何が「Perl らしい」のかを整理します。
正規表現が言語の核
$line =~ /error/ のように、正規表現が文法レベルで組み込まれている。Python のように re.search() を import する必要がなく、=~ 演算子だけで使える。ログ解析やテキスト変換が圧倒的に書きやすい。
変数のシジル
変数の頭に $(スカラー)、@(配列)、%(ハッシュ)を付けるスタイル。変数の種類が一目でわかるのが利点。慣れると読みやすいが、JavaScript 系から来ると独特に見える。
ワンライナー文化
perl -ne 'print if /error/' file.log のように、シェルから1行で書けるスクリプトが強い。-n / -p / -e オプションで sed や awk の上位互換のように使える。
「やり方は1つではない」(TIMTOWTDI)
「There Is More Than One Way To Do It」 が Perl の思想。同じ処理を複数の書き方で表現できる柔軟さが特徴。自由度が高い反面、コードの統一性は人/チーム依存。Python の「Pythonic な1つの書き方」とは対照的。
コンテキスト依存
同じ式がスカラーコンテキストとリストコンテキストで意味が変わる。@array をスカラーで評価すると要素数、リストで評価すると配列そのもの、というように使う場所で挙動が変わる。慣れないとハマるが、慣れると簡潔に書ける。
UNIX との親和性
ファイル操作、プロセス起動、シェルとの連携が言語ネイティブにできる。backtick でシェルコマンド実行、open でパイプ接続など、UNIX のシステムコールに近いレベルから扱える。
「正規表現とテキスト処理に圧倒的に強い、シェルと密結合、自由度が高い」が Perl の DNA。これは Node 系や Python とは違う設計思想です。
CPAN — Perl 文化の核
Perl を語る上で外せないのが CPAN(Comprehensive Perl Archive Network)です。
規模
2026 年現在、22 万以上のモジュール、4.5 万以上のディストリビューション、1.4 万人超の貢献者。npm や PyPI 登場の前から存在する、本格的なオープン共有モジュールの元祖。
使い方
cpan Module::Name や cpanm Module::Name でインストール。use Module::Name; で読み込み。npm / pip の感覚に近い。
品質保証
CPAN Testers という仕組みで、各モジュールが世界中の Perl 環境で自動テストされ、結果が公開される。Vitest や Jest のような自前テストとは別に、「世界中の Perl ユーザーが回したテスト結果」がモジュールページで見えるのが特徴。
現状
新規モジュール公開は 2015〜2022 年で大きく減少したが、その後ほぼ横ばいで落ち着いた。「成熟して安定したエコシステム」として、業務利用に必要なモジュールはほぼ揃っている状態。
CPAN が築いた「言語標準ライブラリ + 中央モジュールリポジトリ + 自動テスト」のセットは、後に npm / PyPI / RubyGems などが踏襲したモデルです。
Perl 5 と Raku の関係
「Perl 6 は Raku に改名された」のニュースで混乱した人も多い領域なので、整理しておきます。
| 項目 | Perl 5 | Raku(旧 Perl 6) |
|---|---|---|
| 位置づけ | 現役の Perl(2026年 5.42 系) | 独立した別言語(姉妹言語) |
| 互換性 | — | Perl 5 とは非互換 |
| モジュール | CPAN | 独自のモジュール体系(zef / fez) |
| 主な特徴 | テキスト処理、ワンライナー、UNIX 親和性 | 強い型システム、並行性、メタプログラミング |
| 使用率 | レガシー保守中心だが安定 | 趣味・研究目的が中心、商用採用は限定的 |
| 改名の経緯 | — | 2019 年、Larry Wall 承認のもと「Perl 6 → Raku」に |
簡単に言えば、Perl 5 と Raku は「同じ言語の新旧バージョン」ではなく、「同じ家族の別言語」。「Perl 6 を学べば Perl 5 がアップグレードされる」という関係ではない、ということです。
「Perl を勉強する」 と言ったら、ほぼ間違いなく Perl 5 を指します。Raku は「面白い実験的言語だが、仕事で使う場面はかなり限定的」という現状です。
2026 年現在の Perl の使用率
数字で見る「Perl の今」を整理します。
TIOBE インデックス
2026 年に 11 位前後。2025 年初頭の 27〜32 位から大きく上昇した。ただし TIOBE は「言語名を含む Amazon の書籍数」も指標に使っており、Perl は PHP の約 4 倍、Rust の約 7 倍の書籍数を持つ。「ランキング = 実利用率」ではない点に注意。
Stack Overflow の質問数
9 年連続で減少傾向。新規開発者からの質問は少なく、活発な議論は他言語に移っている。学習者の入り口としてはほぼ機能していない状態。
GitHub での活発さ
Perl 5 のコアリポジトリは Star 約 2,200 と控えめ。CPAN モジュールの新規追加も 2015〜2022 で大きく減少した。「新しいものを作る場所」としては縮小している。
給与
各種調査で Perl 開発者の平均給与は約 140,000 ドルとトップクラス。「使える人が減っているのに、稼働システムは残っている」状況で、保守人材の希少性が報酬に反映されている。
Perl の現在地は 「実利用は縮小傾向、ただし残っているシステムの保守需要があるため、できる人の市場価値は逆に上がっている」という独特なポジション。同じくレガシー保守で高給の COBOL に似た構造ですが、Perl の場合は言語本体の開発が止まっていない点が違います。
どこで今も使われているか
「Perl は死んでない」と言える具体的な使用先を整理します。
出版・新聞・大学
大規模な記事管理システム、入稿システム、研究用テキスト処理。「20 年動いている Perl システムをそのまま回す」運用が多い。新規開発はしないが、止めるわけにもいかない。
金融・通信業のバッチ処理
ログ解析、定期バッチ、レポート生成。「テキスト処理に強い + 既に書かれている + 動いている」の組み合わせで、リプレース優先度が低いまま残る。
バイオインフォマティクス
1990 年代から DNA 配列解析などで使われた歴史があり、研究室の「BioPerl」系のスクリプトが今も現役。Python(BioPython)に置き換わりつつあるが、過去資産は多い。
UNIX 系システム管理
Red Hat / Debian の管理ツール、cPanel、Bugzilla、各種 Linux ディストリビューションのインストーラ周辺。OS の中に Perl が標準で入っていることが多く、シェルスクリプトでは厳しい処理を Perl で書く運用が現役。
著名サービス
Booking.com、IMDb の一部、cPanel、DuckDuckGo の一部バックエンドなどで Perl が使われた / 使われ続けている。「全てを別言語に書き換えるコストが見合わない」のが理由。
「Web の主役」からは退いたが、「動いているシステムの中」「テキスト処理の道具」「OS 標準の管理スクリプト」という3つの居場所で Perl は残っています。
Perl が向いている用途 / 向いていない用途
新規でも既存でも、Perl が現実的に活きる場面を整理します。
| 用途 | Perl の向き不向き | 備考 |
|---|---|---|
| ログ解析・テキスト変換 | ◎ | 正規表現が言語の核。awk / sed 以上の柔軟さ |
| システム管理スクリプト | ○ | UNIX 系では今も実用的。Python / Bash と競合 |
| レガシー Perl の保守 | ◎ | 需要は減らず、給与も高い。学ぶ価値あり |
| 新規 Web サービス | × | Mojolicious / Dancer はあるが、エコシステムが小さい |
| 新規 CLI ツール | △ | Python / Go / Rust の方が配布しやすい |
| 機械学習 / AI | × | Python のエコシステムが圧倒的 |
| フロントエンド | × | そもそも領域外 |
| モバイルアプリ | × | 領域外 |
要点は 「テキスト処理 + UNIX 連携 + 既存資産の保守」に向いていて、「ゼロから新しいプロダクトを作る」用途には向きにくい、という構図です。
新規で Perl を学ぶ価値はあるか
最後に、「これから Perl を学ぶか?」の判断軸を整理します。
学ぶ価値が高いケース
① 入社先・現職の業務で Perl コードが残っている、② インフラ・運用エンジニアで UNIX 系の高度なテキスト処理を扱う、③ レガシー保守のスペシャリストとして稼ぐキャリア戦略、④ バイオインフォや出版業界の研究・実務。
学ぶ価値が低いケース
① これから Web 開発を始めたい(React / Next.js / Python / Go のほうが将来性あり)、② AI / 機械学習を学びたい、③ モバイルアプリを作りたい、④ 新規 SaaS を立ち上げたい。
最初の言語としては?
非推奨。Python のように「1 つの正しい書き方」を促す言語の方が初学者には優しい。Perl は「同じことを何通りでも書ける」自由度が高すぎて、コードレビュー文化が育っていない場では迷走しやすい。
2 番目以降の言語としては?
有力。正規表現の本質を学ぶのに最適で、Python や Ruby の正規表現を使うときの理解が一段深くなる。シェルスクリプトに限界を感じた人が次に進む選択肢としてもアリ。
「流行っているから学ぶ」 言語ではなく、「目の前の Perl コードと向き合うことになったときに、しっかり読み書きできるようにする」姿勢で取り組むのが現実的なスタンスです。
競合言語との比較
Perl と立ち位置が近い・比較されやすい言語との関係を整理します。
| 言語 | 強み | Perl との関係 |
|---|---|---|
| Python | 読みやすさ、AI / データ分析の標準 | Perl からの移行先で最大。同じスクリプト言語だが思想が逆 |
| Ruby | 表現の自由さ、Rails によるWeb開発 | Perl の自由さを継承しつつ、より洗練された後継的立場 |
| PHP | Web の現役、安定したホスティング | 同じく CGI 時代の主役だったが、Web に特化して生き残った |
| Bash / awk / sed | UNIX シェル標準、軽量 | Perl はその「上位互換」として書かれることが多い |
| Raku | 強力な型システム、並行性 | Perl 6 の後継として独立。Perl 5 からの直接の置き換えではない |
| Go | シングルバイナリ配布、並行処理 | 新規 CLI ツールの主流。Perl から置き換えられた領域も多い |
「Python / Ruby が Perl の自由さを受け継ぎながら、より整理された言語として広く採用された」のが歴史的な流れ。Perl はテキスト処理の祖父として、それらの言語に思想的に影響を与えました。
AI 時代の Perl
AI コーディング環境(Claude Code など)の文脈でも、Perl にはいくつか特有の利点があります。
AI が Perl を書ける
主要な LLM は Perl のコード生成にも対応している(コーパスに十分含まれている)。「Perl 経験者が少ない現場で、AI に頼って書く」運用は現実的に成立する。
レガシー読解の補助
20 年前の Perl スクリプトを AI に読ませて「何をしているのか日本語で説明させる」用途で AI が刺さる。シジル($ / @ / %)やコンテキスト依存の挙動を、AI が解説してくれる。
他言語への移植
Perl から Python / Go への移植作業で AI が補助役として有効。「動いている Perl コードを段階的に別言語に移す」プロジェクトで、AI が大量のスクリプトを下訳してくれる時代になった。
注意点
AI が出す Perl コードは「動くが Perl らしくない」ことがある。use strict; や use warnings;、モダンな書き方(Moo / Moose / 関数シグネチャ)を意識する必要がある。レビュアー側の Perl 経験はまだ要る。
「AI でレガシー Perl が読みやすくなる」のは、保守人材不足の現場にとって地味だが大きな変化です。
Perl に関するよくある質問
Q. Perl 6 と Raku は同じものですか?
A. はい、同じものです。2019 年に Perl 6 が Raku に改名されました。背景には「Perl 5 と互換性のない別言語なのに、Perl 6 という名前で混乱を生んでいた」という事情があり、Larry Wall の承認のもと正式に分離しました。Perl 5 と Raku は別言語として扱うのが現代の理解です。
Q. Perl は死んだ言語ですか?
A. いいえ、現役の言語です。言語本体の開発は続いており、2025 年に Perl 5.42 がリリースされています。ただし新規プロジェクトでの採用は減少傾向で、主な活躍場所は「動いているシステムの保守」です。「絶滅した言語」ではなく「主流の座を退いた後も静かに動き続けている言語」が正確な表現です。
Q. CPAN は npm や PyPI と何が違いますか?
A. 仕組みは似ていますが、CPAN は npm / PyPI より前から存在する元祖です。違いとしては、CPAN Testers という「世界中のボランティアがモジュールを各環境で自動テストして結果を公開する仕組み」が組み込まれている点が独特。「あるモジュールが Windows + Perl 5.36 で動くか?」のような情報が見える。新しさより安定性を重視する設計です。
Q. これから Web サービスを作るなら Perl を選ぶ?
A. 非推奨です。React Server Components / Next.js、Ruby on Rails、Django / Flask、Go の標準ライブラリなどに比べると、Perl の Web フレームワーク(Mojolicious / Dancer / Catalyst)はエコシステムが小さく、採用事例も限定的です。「テキスト処理の便利スクリプト」「既存 Perl の保守」には向きますが、新規 Web は他言語に寄せるのが現実的です。
Q. Perl を覚えると稼げますか?
A. 「Perl で新規開発する仕事」は少ないが、「動いている Perl を保守できる人」は不足しており、給与水準は高い。各種調査で平均年俸 140,000 ドル前後と、トップクラスです。レガシー保守のスペシャリストとしてのキャリア戦略は十分成立します。ただし、市場全体としては縮小傾向なので、「Perl だけで一生食べる」より「Perl + 他の主力言語(Python / Go など)」の組み合わせが現実的です。
Q. Perl のモダンな書き方とは?
A. 2026 年現在のモダン Perl の作法は、① use strict; と use warnings; を必ず書く、② オブジェクト指向は Moo / Moose または Perl 5.38+ の class 機能を使う、③ 関数シグネチャ(sub foo ($a, $b) {...})を有効化する、④ Perl 5.42 系の any / all 演算子やフィールドアクセサを使う、などです。古い書き方の Perl コードに出会ったら、まずこれらを意識して読み直すと整理しやすくなります。
Q. Perl とシェルスクリプト、どっちを学ぶべき?
A. 両方学ぶのが理想ですが、優先度はシェル(Bash)が先です。Bash はあらゆる UNIX 系サーバで使う必須スキルで、Perl はその先の「複雑になりすぎたシェルスクリプトを書き直す道具」として効きます。最近では Python が Perl の役割を引き受けることが多いので、Bash + Python が現代の標準セット。Perl はその上に「現役の Perl 資産がある現場で」追加で学ぶ位置づけです。
参考リンク
- The Perl Programming Language: perl.org
- Perl Documentation: perldoc.perl.org
- CPAN: cpan.org / metacpan.org
- Wikipedia: Perl 5 version history
- Wikipedia: Raku (programming language)
- Phoronix: Perl 5.42 Released With New Operators, Unicode 16 Support
- InfoWorld: Perl programming language rises again – Tiobe
- byteiota: Perl's TIOBE Comeback: #27 to #9 Isn't What It Seems
- TIOBE Index: tiobe.com/tiobe-index
- Modern Perl Books: modernperlbooks.com