Perl ~ リファレンス、チュートリアル、解説記事などのまとめ
テキスト処理やシステム処理などを得意とするライトウェイトなプログラミング言語のリファレンス、チュートリアルなど
PerlはC言語に似た文法を持ち、正規表現や連想配列など柔軟な処理機能が充実しているインタープリタ型のプログラミング言語です。
もともとPerlはUNIX上でテキストファイルの操作やバッチ的な処理の記述を中心に利用されていましたが、現在ではWebアプリケーションを記述する言語としてよく利用されています。代表的な例として、MovableTypeやPlaggerなどがあります。
また、CPANと呼ばれる機能拡張用のモジュールが非常に充実しているのも大きな特徴です。
主なWebサイト
Perlの代表的なWebサイトは、The Perl Foundationの運営するPerl.orgと、そして米オライリーのPerl.com、そしてJarkko Hietaniemi氏の運営するCPAN(Comprehensive Perl Archive Network)の3つでしょう。
- Perl.org (英語)
各種Perl情報へのポータル的なサイト - Perl 5 Wiki 、 Perl 6 Wiki 、 Parrot Wiki
The Perl Foundationが運営する、それぞれのバージョンのOfficial Wiki - CPAN (英語)
1万種類以上のPerlモジュールや関連ソフトウェアのライブラリ、ドキュメントなど - Perl.com (英語)
オライリー社が運営するPerlの情報サイト
また、use PerlはPerlの情報発信サイト、Planet Perlは、Perlブログのアグリゲーションサイトです。
- use Perl: All the Perl that's Practical to Extract and Report (英語)
- Planet Perl - an aggregation of Perl blogs (英語)
日本ではPerlの普及や啓蒙を目的とする団体Japan Perl Associationが2009年4月の設立に向けて準備中のようです。
また、以前にPerl情報のハブサイトを目指してPerl-users.jpが開設されました。
入手方法
Perlはオープンソースであり処理系は基本的に無料で入手できます。当初UNIX上で広く普及した歴史的経緯から、UNIX系のOSでは標準でPerlを搭載していることが一般的です。
Webアプリケーション用にPerlを利用するのであれば、Apache、MySQL、PHP、Perlなどが1つにパッケージされたApache FriendsのXAMPPが導入も容易でお勧めです。ただし、XAMPPにデフォルトで入っているのはMiniPerlと呼ばれるPerlのミニセットです。フルセットのPerlは、XAMPPアドオンとして用意されています。
ActiveState社によるPerl互換の実装であるActivePerlもよく知られています。ActivePerlはStandard Distributionが無料配布されている一方、Active Perl Enterpriseが商品として販売されています。
上記の2種類がよく知られたPerlの実装ですが、それ以外にもCPAN(Comprehensive Perl Archive Network)のPortsページには、これまでに存在した100種類近いPerlの実装一覧があります。また、PerlのソースコードはCPAN/src から入手できます。
- Apache Friends XAMPP
Apache、MySQL、PHPなどが含まれる統合パッケージ。Linux、Windows、MacOS X、Solarisなどに対応 - ASPN : Downloads : ActivePerl (英語)
ActiveState社が無料で配布しているActivePerl - mod_perl: Welcome to the mod_perl world (英語)
Apacheプロジェクトのmod_perサイト - CPAN/ports (英語)
あらゆる実装のPerlを集めたリンク集 - CPAN/src (英語)
Perlのソースコード。最新のものから過去のものまで。 - VectorでのPerlの検索結果
MS-DOS用のPerlなどが入手可能
マニュアル・リファレンス
英語では、perldoc.perl.orgでPerlのFAQ、歴史、詳細なリファレンスなどが読めます。PDF版も用意されています。
日本では、Japanized Perl Resources Projectが翻訳に取り組んでいるようです。また、Network Tactics社がリファレンスを翻訳し公開しています。
Perlの概要と歴史を理解するにはWikipediaのPerlの項目が充実しています。
ネット上には多くのチュートリアルやリファレンスが存在しています。ここでは主なものを紹介します。
- Perl - WikiBooks
- Perlの使い方入門:ITpro
- Perlの基礎を学ぶ:ITpro
日経ソフトウェア 2003年9月号に掲載された入門記事 - Perl入門---目次:ITpro
日経Linux 2003年7月号からの7回連載。文法、ログ解析、ExcelファイルやPDFファイルの生成など実用的な題材を取り上げている - 正しいPerl/CGIの書き方:ITpro
サイボウズ・ラボ竹迫氏による、Perlのコーディングスタイル、開発工程、パッケージングなどの解説 - セキュアPerlプログラミング - IPA
IPA(独立行政法人情報処理推進機構)が公開しているセキュア・プログラミング講座の第4章 - Perl講座[入門からデータベース連携なども] - Site Cooler
ActivePerlの導入から変数、配列、正規表現、オブジェクト指向までひととおりの解説が読める - bingo_nakanishiのPerlではじめるプログラミング言語
- bingo_nakanishiの他言語出身者のためのPerl入門
上記2つはタイトル通り初心者向け、経験者向けのPerl入門。ブログ形式で多くの例を用いて丁寧に解説している - Perlで書く - MAS
MAS氏によるPerlの解説。リファレンスとTips、書籍紹介など - Perl入門 - perlplus
ActivePerlのインストール方法や基本的な文法、正規表現など - Perl基礎入門 - Kent Web
初学者向けに変数、関数、制御構造、ファイル操作などの説明 - Perl講座 [Smart]
CGIの作り方、オブジェクト指向、データベースインターフェイス、標準モジュールなどについて - とほほのperl入門 - 杜甫々
概要編、リファレンス編、利用編に分かれており、情報量が豊富 - Perl・CGI無料講座-ミスティーネット-MISTY-NET - CGIにフォーカスしたPerlプログラミングの解説
- Perl Lesson - 名古屋大学 言語情報システム講座
- メールマガジン『Perlクイズ』 結城浩 - The Essence of Programming
サンプル・ノウハウ・読み物
Webサイト用のカウンタやメールフォームといったPerlのサンプルプログラムも数多くのWebサイトで配布されています。
- Perl Script Laboratory
- :: KENT WEB - CGIスクリプト ::
- CGI Perl専門サイト - futomi's CGI Cafe
- Perl表技集
- Perlメモ
- PerlプログラミングTips
- Perl CGI's By Mrs. Shiromuku
- 無料のCGI/Perlスクリプト - CANDY CGI
- PERL DECO - オークションシステムCGI
- MyTools.NET - CGI無料配布(辞書、クイズ、カウンタ、投票、掲示板、不正リンク防止等)
- フリーCGI/PERL - ホームページ制作素材ダウンロード
ITproでは、Perlを使った定番の文字列処理からQRコードの生成までを解説した日経ソフトウェアの連載が掲載されています。
- いまさら聞けないPerlのお役立ちワザ(1):ITpro
- いまさら聞けないPerlのお役立ちワザ(2):ITpro
- いまさら聞けないPerlのお役立ちワザ(3):ITpro
- いまさら聞けないPerlのお役立ちワザ(4):ITpro
技術評論社のGihyo.jpでもPerlの特集が組まれています。
モダンPerlの連載も始まったばかりですが、注目ですね。
All AboutやQ&AサイトのOKWaveでもPerlの情報が読めます。
- Perl - All About
All AboutのPerl関連の記事一覧 - Perl -OKWave
OKWaveでのPerlに関するQ&A
開発環境
Perlを利用したプログラムの開発はテキストエディタで行われることが主流のようです。テキストエディタのアドインと、統合開発環境を紹介します。
テキストエディタのvimやEmacsでPerlのプログラミングをサポートするアドイン。
- taglist.vim - Source code browser (英語)
- Perl-IDE - perl-support.vim - - Write and run Perl-scripts using menus and hotkeys. : vim online (英語)
- EmacsでPerlのモジュール名を補完する - subpop
日本製の開発支援ソフトウェアもあります。
以下の統合開発環境はいずれも英語版です。
- EPIC - Eclipse Perl Integration (英語)
- Perl Express: A Free Perl IDE/Editor for Windows (英語)
- Open Perl IDE - SourceForge.net (英語)
- ActivePerl Pro Studio - ActiveState (英語)
- Perl Builder: The IDE for Perl (英語)
- PerlComposer - The Ultimate GUI builder for Perl (英語)
- Perl Editor - Leading Editor(IDE) with a debugger for Editing And Debugging Perl CGI Scripts (英語)
- OptiPerl 5 - Perl Visual Editor IDE for CGI & Console Programming (英語)
- Zeus - The windows text editor, programmers editor and IDE, HTML Editor, Text Editor, Notepad Replacement (英語)
コミュニティ・イベント
The Perl Foundationが組織するPerlのコミュニティ"Perl Mongers"(Perl屋たち、Perlに夢中になる人たち)は世界中に広がっており、日本にも複数のPerl Mongersがあります。
- Fukuoka Perl Mongers
福岡Perl Mongers - Kansai perl Mongers
関西Perl Mongers - Shibuya Perl Mongers
渋谷Perl Mongers - Yokohama Perl Mongers
横浜Perl Mongers - perl-mongers.org
日本のPerlユーザーが記事を投稿して情報交換できるサイト - Japanized Perl Resources Project
Perlの日本語リソースを収集するとともに、新たな文書を翻訳するプロジェクト - The Perl Foundation (英語)
- Perl Mongers (英語)
(Perl Mongersの始め方、FAQ、世界中のPerl Mongersへのリンク集)
各地のPerlコミュニティは独自で勉強会やイベントなどを行っていますが、Perlイベントで大規模なものは、The Perl Foundationが実施するYAPC(Yet Another Perl Conference)でしょう。YAPCは日本でも開催されています。
- YAPC::Asia 2008 - May 15-16th in Tokyo, JAPAN
- YAPC::Asia 2007 Tokyo - April 4-5 2007 (Japanese)
- YAPC::Asia 2006 Tokyo (Japanese)
- Perl Foundation Conferences (英語)
小飼弾氏による"Perl The Second Languge"の講演
YAPC::Asia 2008最後のセッションで行われた講演。日本での-users.jpブームの発端
話題
現在のPerlのメジャーバージョン番号は5ですが、次のバージョンのPerl6は後方互換性がなくなることが発表されています。また、Perl6からはPerlプログラムの実行がParrotと呼ばれる仮想マシン上で行われることになり、Perl6からPerlは大きく変化することになりそうです。ただし、Perl6は2000年に発表されてから現在も開発途上であり、完成時期はまだ未定になっています。
- Perl 6 Wiki (英語)
- Parrot VM (英語)
- Parrot Wiki (英語)
Perl開発者のLarry Wall氏は日本好きで知られています。また、日本ではPerlの多言語化モジュールのメンテナーである小飼弾氏や、Plagger作者でSix Apartの宮川達彦氏などが有名です。
- 小飼弾のアルファギークに逢いたい♥:#0 Perlの父 Larry Wall - gihyo.jp
- 小飼弾のアルファギークに逢いたい♥:#7 YAPC::Asia 2007 Hackathonスペシャル(中編) Perl 6に期待すること - gihyo.jp
- 小飼弾のアルファギークに逢いたい♥:#13 シックス・アパート 宮川達彦 - gihyo.jp
- Perlの生みの親ラリー・ウォール氏が語る、Perlの生い立ちと今後:インタビュー - CNET Japan
- New Generation Chronicle:小飼弾――35歳からのプログラミングこそ無上の至悦 (1/9) - ITmedia エンタープライズ
- New Generation Chronicle:谷口公一――「にぽたん」と呼ばれし剛勇の新たな挑戦 (1/5) - ITmedia エンタープライズ
- 対談「初心者とハッカーが共存できるPerl」:ITpro
Perlに関するおすすめ書籍
いわゆる「らくだ本」。中級以上のプログラマ向けに、Perlの機能が詳細に解説されている。Vol1は言語としてのPerlとUnicodeやコンパイル、デバッガなどの仕組み。2分冊中の1冊(目次)
コードのレイアウト、変数のテクニック、制御構造の選択、エラー処理の方法など、Perlのコーディングついて著者の実体験に基づく200以上のベストプラクティスを集めた一冊(目次)
近代的なオブジェクト指向とはなにかをソースコードとともに解説する第一章に続き、デザインパターンの例を紹介、フレームワークとしてはCatalystなどを取り上げる。後半ではテストの自動化やパフォーマンスチューニングなど。業務としてPerlプログラミングをしている人に(目次)
はじめてプログラムを書く、という人のCGI入門書。カウンタ、サイコロゲーム、掲示板などの作り方を、大きな画面と一緒にソースコードを見ながら1行ずつ解説していく(目次)
Perlのさまざまな命令、関数を使ったサンプル集。ファイル、ディレクトリなどの操作、リファレンス、ライブラリ、ハッシュ、正規表現。そして掲示板、チャット、メール送信、アクセスログ解析などのサンプルも後半で提供している(目次)
Perlでプログラミングするとき辞書代わりに一冊、机の上に置いておくのに手軽な本
Perlに関するビデオ
2008年6月に米Googleで行われた、Perlの開発者Larry Wall氏の講演。Perl6がどんな言語になるのか
2006年8月「LLRing」で、サイボウズ・ラボ竹迫氏によるPerl6の開発状況やPerl5からPerl6で何が変わるのか? などの解説
2006年11月「XML開発者の日」に行われた宮川氏によるPlaggerの紹介。海外からSkypeなどを経由したプレゼン