Perlモジュール

最終更新日時:2014-02-27 00:00:00
Perl

概要


Perl モジュールは、C でいうところのライブラリに相当します。
現在、Perl モジュールは非常に多数存在し、おそらくこれは誰かが作っているだろう、、、と思うような機能はたいていあります(^_^;


モジュールの取得


以下、CPAN および CPAN モジュールについての解説となりますが、cpanm を使ってCPAN からモジュールをインストールすることをおすすめします。

Perl モジュールのほとんどのものは CPAN にあります。
CPAN からモジュールを取得するには、CPAN の Web サイトや FTP サイトをブラウザで参照して取得してもいいのですが、以下のコマンドで取得するのがとても便利です。

 % perl -MCPAN -e shell 


初めて CPAN モジュールを使用した時にはいくつか質問に対する入力を促されますが、2度目からはすぐに cpan プロンプトに入ります。
cpan プロンプトの状態で get xxx とすると、そのモジュールの最新バージョンがダウンロードされ、install xxx とすると、そのモジュールの最新バージョンがインストールされます。
get した時には、ダウンロードしたモジュールが展開されているディレクトリ(デフォルトだと $HOME/.cpan/build)に行き、上記のお決まりの手順でインストールすればOKです。
また、CPAN 関連のモジュールをインストールすると cpan コマンドがインストールされ、これを実行することでも CPAN 操作を行うことが可能になります。

CPANについてはCPAN最速検索もどうぞ。


インストール


cpan を使わずにPerlモジュールをインストールする際には、たいてい以下のようにしてインストールを行います。

 % perl Makefile.PL
 % make
 % make test
 % su
 # make install


上記の手順だと、Perl モジュールのデフォルトの場所 (/usr/lib/perl5 とか /usr/local/lib/perl5 等 ) にインストールされます。
つまり、Perl 本体インストール時にインストールされるモジュールと同じ場所にインストールされます。
これでも問題ないのですが、例えば Perl をバージョンアップした際には、path が変わりますので、後からインストールしたモジュールのほとんどはインストールし直しになることが予想されます。
また、他のサーバにて同環境を作成することを考慮したりすると、Perl 本体インストール時にインストールされるモジュールと後からインストールしたモジュールは別の場所にインストールした方が良いことが多いです。
以下のようにすると、たいていのモジュールは別の場所にインストールすることが可能です。
※Perl のバージョンによって若干違うようなので、実際は Makefile の中身を見て設定すべき!

 % perl Makefile.PL PREFIX=/project/anywhere \
    INSTALLPRIVLIB=/project/anywhere/lib/perl5 \
    INSTALLSITELIB=/project/anywhere/lib/perl5 \
    INSTALLARCHLIB=/project/anywhere/lib/perl5 \
    INSTALLSITEARCH=/project/anywhere/lib/perl5


なお、上記の他に Module::Buildを使用する場合もあります。


CPANを使ったインストール


上で書いたように cpan にて install xxx するとPerlモジュールをインストールすることができますが、この場合もcpanを使わずにインストールした時と同様にデフォルトの場所にインストールされてしまいます。
cpan にてインストール場所を設定するにはcpanの設定ファイル(通常$HOME/.cpan/CPAN/MyConfig.pm)を以下のような感じに設定します。

  'makepl_arg' => q[PREFIX=/project/anywher
                    INSTALLPRIVLIB=/project/anywhere/lib/perl5
                    INSTALLSITELIB=/project/anywhere/lib/perl5
                    INSTALLARCHLIB=/project/anywhere/lib/perl5
                    INSTALLSITEARCH=/project/anywhere/lib/perl5],


CPANサイト


はっきり言って、デフォルトの CPAN サイトは遅いです!
個人的には、http://ftp.riken.jp/lang/CPAN/ がなかなか良いと感じているので、CPAN の設定ファイルを作成後、すぐに以下のように書き換えます。

  'urllist' => [q[http://ftp.riken.jp/lang/CPAN/]],


もちろん最速ではないと思いますので、もっと良いサイトがあれば是非お知らせください(^_^;


CPANインストール時にyesを自動選択するには


CPAN によるインストールは、Perlモジュールごとの依存関係もチェックして自動的に入れてくれるので非常に楽ちんなのですが、そうなると、一度に大量に Perlモジュールをインストールすること多々あります。
その際、インタラクティブに選択肢が出てきて、ユーザーに入力を促すことが多々あるのですが、これを毎回毎回指定するのは非常に面倒くさいです。
この選択肢を常に yes を選択させて、インストールは勝手にコンピュータにやらせたい場合は、以下のように設定します。

  'prerequisites_policy' => q[follow],


これでも、一部入力画面になることがありますが、ほとんどのケースでは自動で選択してインストールが進むので、ほぼ全自動です( ̄ー ̄)

お問い合わせは 掲示板 にて。