Perl Hackers Hub

第7回 新人さんのための仕事で使えるPerl基礎知識(1)

この記事を読むのに必要な時間:およそ 3 分

本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはacotieこと横山彰子さんで,テーマは「新人さんのための仕事で使えるPerl基礎知識」です。CPAN環境の構築方法や変数の扱いなど,新人さんがPerlで最初につまずきがちなこと,苦手とされがちなことを,ピックアップして解説していきます。

今どきのCPAN環境構築術

Perlの最大の特徴はCPANにあります。CPANは「Comprehensive Perl Archive Network」の略で,Perlで書かれた世界中のソフトウェアを集めた巨大なアーカイブです。CPANには再利用性・汎用性の高いモジュールが登録されているため,Perlを使って何か新しい作品を作り始めたいときに,先人の知恵を借りてスピーディかつスマートに開発できます。

登録モジュールの検索やドキュメントの閲覧サービスも提供されているため,Perlプログラマは適切なモジュールを探して,簡単に入手できます。

しかしCPANには,「cpanコマンドの設定が必要で面倒」「root環境でなければインストールできない」といった誤解があります。実際は気軽に使えるものなのですが,慣れていない人には敷居が高いと思われやすく,筆者は残念でなりません。そこでここでは,従来からのcpanコマンドの使い方をはじめ,最新のCPANモジュールのインストール方法を紹介します。

cpanコマンド

cpanコマンドは,ユーザの手持ちのライブラリの管理,CPANミラーへの問い合わせ,モジュールのダウンロードを行うものです。この専用ソフトウェアを利用すると,簡単なコマンドでCPANモジュールを検索・導入可能になります。

それではさっそく,CPANモジュールをインストールできるようにするまでの環境を整えましょう。

cpanコマンドの確認

cpan -vでCPAN.pmのバージョンを確認できます。

$ cpan -v
/opt/local/bin/cpan script version 1.9, CPAN.pm version
1.9402

cpan -hでコマンドのヘルプを確認できます。

$ cpan -h
cpanコマンドの使い方

では,cpanコマンドを使ってみましょう。

cpanコマンドを実行する方法にはいくつかあり,次の2つはどちらも同じ意味となります。

$ sudo perl -MCPAN -e shell
$ sudo cpan

初回実行時には初期設定が必要ですが,基本的にはすべてデフォルトのままでかまいません(あとから変更できます。環境によってはmakeがインストールされてないとエラーになる場合があります)。

次のようにcpanシェルの対話モードが表示されたら準備完了です。

cpan>

モジュールのインストールには,cpanシェルが立ち上がった状態でinstall モジュール名と入力します。これでダウンロード,解凍,テスト,インストールまでを行います。ここでは大文字・小文字も厳密にチェックされるので注意してください。

cpan> install モジュール名

CPANモジュールのインストールディレクトリは,次のコマンドで知ることができます。

$ perl -e 'print "@INC"'
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /
usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl

cpanmコマンド

cpanm(App::cpanminus)は,リソースが限られているVPSVirtual Private Serverなどの環境でもCPANを快適に使えることを目指して,宮川達彦さんが中心になって開発されているコマンドです。cpanmコマンドを使えば,root権限を持っていないユーザでも,設定なしでCPANモジュールを取得して解凍してビルドしてインストールまでしてくれます。さらに,従来のcpanコマンドより少ないメモリで動作し,メッセージが少ないなどのメリットもあります。cpanよりもcpanmを使用することをお勧めします。

cpanmコマンドのインストール

cpanmを一般ユーザ領域にインストールする場合は,次のように行います。

$ cd ~/bin
$ curl -O https://github.com/miyagawa/cpanminus/raw/master/cpanm
$ chmod +x cpanm
cpanmコマンドの使い方

cpanmコマンドを使ったCPANモジュールのインストールは,cpanm モジュール名で行います。

$ cpanm Acme::Acotie
--> Working on Acme::Acotie
Fetching http://search.cpan.org/CPAN/authors/id/Y/YA/
YAPPO/Acme-Acotie-0.02.tar.gz ... OK
Configuring Acme-Acotie-0.02 ... OK
Building and testing Acme-Acotie-0.02 ... OK
Successfully reinstalled Acme-Acotie-0.02
新たにCPANの環境を移行する

新しくCPAN環境を作りたい場合や,環境を移行したい場合は,インストール済みのモジュール一覧ファイルをあらかじめ作成しておくと便利です。インストール済みのモジュール一覧ファイルを作るコマンドは次のとおりです。

$ cpanm ExtUtils::Installed
$ perl -MExtUtils::Installed -e 'print "$_\n" for ExtUtils::Installed->new->modules' > modules.txt

これで,改行で区切られたモジュールのリストファイルが得られます。cpanmコマンドにモジュールのリストファイルを引数として渡すと,リストファイルに書かれたモジュールをすべてインストールしてくれます

$ cpanm < modules.txt

cpanmの細かいオプションやドキュメントはcpanm -hというヘルプコマンドに載っていますので参考にしてください。

著者プロフィール

横山彰子(よこやまあきこ)

大阪時代からWebシステム会社を数社経験後,2010年から本格的にフリーランスのエンジニアとして活動。現在もECサイト,新規サービスの立ち上げなどの開発支援を行う。

Perl Casual,Shibuya.pm,YAPC::Asia2010などスピーカーとして登壇。個人でも2008年からSmiley Hackathonやwebrick cafeなど勉強会の主催をしている。

Twitter:acotie

mail:acotie.acotie@gmail.com

URL:http://poccori.com

コメント

コメントの記入