本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは普段Webアプリケーションの開発をしているhiroki.oさんで、テーマは「新人さんのためのPerl入門」です。
本稿のサンプルコードはWEB+DB PRESS Vol.86のサポートサイトから入手できます。
昨年は新人でした
筆者は2014年にプログラマとして新卒入社し、Perlを学び始めました。今回は筆者の経験をもとに知っておきたい知識として、Perlの導入からモジュールやperldocの使用方法、そしてモジュールを使った簡単なプログラムの作成までを、柔軟なPerlならではの文法のハマりどころを含めつつ解説していきます。
環境構築
まずはPerlの導入方法を説明します。今回は個人の開発環境の例として紹介します。ここに挙げた方法にとらわれず、用途に沿った方法で導入しましょう。
Perlのバージョン
現在の環境に導入されているPerlのバージョンを調べるにはターミナルでperl -v
と入力してください。
version
の数値が偶数のものが安定版、奇数のものが開発版とされており、基本的には安定版の使用が推奨されています。本稿は執筆時点(2015年3月)の最新安定版であるPerl 5.20.2にて動作確認をしています。
plenvで複数のバージョンを扱う
plenvは複数バージョンのPerlを管理できます。システムの管理権限を必要としないので、最新版がリリースされても気軽に導入できます。また、プロジェクトごとに使用するバージョンを変更することもできます。
plenvは、GitHubのリポジトリや、OS XであればHomebrewから入手しインストールできます。
plenvがインストールできたら、Perl 5.20.2をインストールします。
versions
サブコマンドでインストール済みのバージョンを確認でき、システム全体のPerlのバージョンを指定したい場合はglobal
、カレントディレクトリ以下で使うPerlのバージョンを指定したい場合はlocal
サブコマンドを使います。
plenv以外にもPerlのバージョン管理ソフトウェアとして、PerlbrewやPerl以外にも対応したxbuildといったものがあります。
モジュールを使う
Perlの大きな特徴の一つに、モジュールを組み込むことによって機能拡張するしくみがあります。モジュールにより、処理やロジックの実装が容易になります。
CPANとは
Perlモジュールの多くはCPAN(Comprehensive Perl Archive Network)という巨大なアーカイブで公開されており、2015年3月現在で14万ものモジュールが登録されています。CPAN内のモジュールを検索したいときはブラウザでhttp://search.cpanm.org/
やhttp://metacpan.org/
から検索できます。
cpanmでモジュールを管理する
CPANからのモジュールの取得や管理はPerlに付属しているcpan
というコマンドで行えますが、本稿ではcpan
コマンドよりも高機能で使いやすいcpanm(cpanminus)の導入を推奨します。
cpanmはcpan
コマンドやGitHubリポジトリからインストールできますが、plenv環境では専用のコマンドがあるのでそちらを使います。plenv環境では実行ツールをインストールしたあとにはplenv rehash
の実行が必要なので覚えておいてください。
モジュールのインストール
cpanmでモジュールをインストールするには、モジュール名を引数にしてcpanm
コマンドを実行します。
モジュールをインストールする際にエラー文が出て、インストールに失敗することがあります。--force
オプションを付ければ強制的にインストールできますが、まずは出力されたログを見てみましょう。~/.cpanm/build.log
に最後に実行したcpanm
コマンドのログファイルへのシンボリックリンクが生成されているので、確認すると解決方法が見つかるかもしれません。
モジュールのアンインストール
モジュールのアンインストールは、-U
または--uninstall
オプションで行います。
モジュールのアップデート
インストールされているモジュールのアップデートは、インストール時と同様にcpanm モジュール名
と実行すればアップデートの確認と更新をしてくれます。
インストールされているすべてのモジュールに対して確認や更新を行いたい場合は、cpan-outdatedというツールが便利です。cpan-outdatedはモジュールと同様にcpanm App::cpanoutdated
でインストールできます。
出力されるリストをパイプでcpanmに渡すことにより、モジュールをまとめて更新できます。
perldocの使い方
Perlを学んでいくうえで大きな情報源の一つはperldocです。言語仕様や標準関数と定義済みの特殊変数、モジュールのドキュメントやソースコードまでをperldocコマンド一つで参照できます。perldocはPerlとともにインストールされています。
perldoc
をターミナルで実行すると使い方が表示されます。
基本的にperldoc オプション 知りたいこと
として実行します。たとえば特殊変数$_
について知りたい際には-v
オプションを指定します。Perlでは記号を使った特殊変数を多用しており、記号の検索に手間がかかる検索エンジンよりも手早く情報を得られます。
-m
オプションではモジュールのソースコードを直接参照できます。
EmacsやVimなどのエディタからperldocを参照するプラグインもお勧めです。ターミナルに戻らずperldocを参照でき、作業が捗ります。また、Web版や有志によって日本語に翻訳されているperldoc.jpもあるので参考にしてください。
<続きの(2)はこちら。>