local::lib のインストール

local::lib - search.cpan.orgを参考に実施。
OSは「Mac OS X 10.5.8」。

手順

最新版をダウンロードする

上記CPANのドキュメントページの右側「Download:」の部分に最新版のダウンロードリンクがある。

$ wget <最新版>
展開
$ tar zxf local-lib-1.004009.tar.gz
インストール
$ cd local-lib-1.004009

$ perl Makefile.PL --bootstrap

$ make && make install
環境変数の設定 (bashの場合)
以下の出力内容を~/.bashrcに書く
$ perl -I$HOME/perl5/lib/perl5 -Mlocal::lib
export MODULEBUILDRC="/Users/username/perl5/.modulebuildrc"
export PERL_MM_OPT="INSTALL_BASE=/Users/username/perl5"
export PERL5LIB="/Users/username/perl5/lib/perl5:/Users/username/perl5/lib/perl5/darwin-2level:$PERL5LIB"
export PATH="/Users/username/perl5/bin:$PATH"
設定の反映
$ source ~/.bashrc

cpanminus のインストール

※ 上記のエントリ「local::lib のインストール」を先に実施した
miyagawa/cpanminus · GitHubの「INSTALLATION」の項を参考に実施。

手順

最新版をダウンロードする
$ git clone git://github.com/miyagawa/cpanminus.git
インストール
$ cd cpanminus/

$ perl Makefile.PL

$ make install

※ 「make install」としてsudoで実行していないのは、「local::lib」のインストール時に「INSTALL_BASE」の設定をしたため(以下参照)。

$ vi ~/.bashrc
...
export PERL_MM_OPT="INSTALL_BASE=/Users/username/perl5"
...

参考

404 Not Found

perldoc-search のインストール

perldoc-search つかえば良い - 理系学生日記を見て、便利そうだったので入れることにした。

インストール

$ cpanm App::Perldoc::Search

使い方

書式
perldoc-search <探したい文字列> <検索対象のディレクトリ>
例1:「perldoc-search」という文字列を含むPODを「~/perl5/lib」以下から検索
$ perldoc-search perldoc-search ~/perl5/lib
App::Perldoc::Search - implementation for perldoc-search
例2: 「Moose」という文字列を含み、且つファイル名に「Catalyst/Action」を含むPODを @INC から検索
$ perldoc-search Moose -G 'Catalyst/Action'

「-G」オプションでは正規表現が指定できる。ファイル名(というよりパス名)でマッチさせているらしく、「Catalyst::Action」では引っかからないので注意。
デフォルト(-Gオプション無し)では全ての「.pod, .pm, .pmc」ファイルを検索する。

メモ

あと、何故か分からないが、第二引数を指定しないとき(つまり@INCを検索対象としたとき)に以下のようなエラーが出る。。

Can't opendir(/Users/username/work/mysql5.1-export/mysql-test/var/install.db/mtr): Permission denied
 at /Users/username/perl5/lib/perl5/App/Perldoc/Search.pm line 103

何でこんなパスを開こうとしてるんだ?