Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. here

cpanmによるPerlのローカル環境構築

cpanmを使ってローカル環境を構築する手順です。迷わない一直線の手順です。

cpanmのインストール

以下のコマンドを個人ユーザで実行してください。

# cpanmのインストール
curl -L -O http://xrl.us/cpanm
perl cpanm App::cpanminus

cpanmを使うと簡単にローカル環境にCPANモジュールをインストールできるようになります。root権限がない場合はユーザのホームディレクトリ以下のperl5というディレクトリ以下にCPANモジュールがインストールされます。インストールには時間がかかるかもしれませんが、しばらく待ちます。

モジュールやコマンドを利用するための設定

インストールしたモジュールやコマンドを利用するには次の設定を「.bashrc」というbashの設定ファイルに追加する必要があります。

export PERL_CPANM_OPT="--local-lib=~/perl5"
export PATH=$HOME/perl5/bin:$PATH;
export PERL5LIB=$HOME/perl5/lib/perl5:$PERL5LIB;

PERL_CPANM_OPTはcpanmの設定を行うための環境変数です。モジュールをインストールするディレクトリを指定しています。デフォルトで「~/perl5」以下にインストールされるのですが、警告が発生するので明示的に指定します。PATHはインストールされたコマンドを利用するための設定です。たとえばcpanmコマンドが利用できるようになります。PERL5LIBでモジュールのインクルードパスを追加できます。この設定を行うとスクリプトからインストールしたモジュールが利用できるようになります。

次のように「.bashrc」を編集して、上記の記述を追加しましょう。

vi ~/.bashrc

次にこの設定を反映させます。

source ~/.bashrc

モジュールのインストール

ためしにMojoliciousというモジュールをインストールしてみましょう。

cpanm Mojolicious

lsコマンドを使って「~/perl5/lib/perl5」というディレクトリにMojoliciousがインストールされていることを確認できます。

ls ~/perl5/lib/perl5

またモジュールを実際に利用できるかどうかを試してみましょう。コマンドラインから次のコマンドを実行してエラーが出なかったら成功です。

perl -MMojolicious -e 1

これでローカル環境にモジュールをどんどんインストールすることができます。他のサーバにモジュールを配置したい場合は、アーキテクチャがまったく同じであれば、「~/perl5」をまるまるコピーするだけです。もちろん「.bashrc」の記述も忘れずに行います。Perlでのデプロイ作業はとても簡単ですね。

cpanmを使って指定したディレクトリにCPANモジュールをインストールする

cpanmを使って指定したディレクトrにCPANモジュールをインストールするには-Lオプションを使用します。

cpanm -L extlib DBIx::Custom

カレントディレクトリのextlibというディレクトリにDBIx::Customがインストールされます。

cpanmとcpanfileでバージョンを指定してモジュールをインストールする

cpanmcpanfileを使うと、バージョンを指定してモジュールをインストールすることができます。

cpanfileの記述

cpanfileを記述します。cpanfileはモジュールのバージョンを指定するためのファイルです。cpanfileという名前のファイルを作成してください。以下のような記述を行います。

requires 'DBI', '== 1.619';
requires 'DBD::SQLite', '== 1.36_04';
requires 'DBIx::Custom', '== 0.25';

次のフォーマットで記述します。

requires モジュール名 バージョン

バージョンには次の表記を使うことができます。

意味 書式 サンプル
指定したバージョン == バージョン == 0.03
指定したバージョン以上 バージョンのみ あるいは >= バージョン 0.03 あるいは >= 0.03
指定したバージョン以下 <= <= 0.03
指定したバージョンより大きい > バージョン > 0.03
指定したバージョンより小さい < バージョン < 0.03

モジュールのインストール

cpanmの--installdepsオプションを使うと、cpanfileの記述を調べて、モジュールをインストールしてくれます。(ドットがオプションの後ろに続くことに注意)

perl cpanm --installdeps .

-Lオプションを使えば、指定したディレクトリにモジュールをインストールすることもできます。

perl cpanm -L extlib --installdeps .

自分の作成したPerlのアプリケーションが、CPANに存在するモジュールに依存しているときは、cpanmとcpanfileを一緒に含めておくと、ユーザーに簡単に利用してもらうことができます。

  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。