nDiki : Perl をインストール

Perl をインストール

CPAN モジュールを使ってガンガンモジュールをインストールした Perl 実行環境を作りたい場合は、OS などで用意されている Perl とは別に、Perl をインストールした方が管理が楽である。

自分のホームディレクトリ以下にインストールすれば、ルート権限無しで環境を構築できる。

インストール例 (Perl v5.10.0)

/usr/local/perl-5.10.0 にインストールする場合は、下記の手順で行う。

 tar zxvf perl-5.10.0.tar.gz
 cd perl-5.10.0
 sh Configure -de -Dprefix=/usr/local/perl-5.10.0
 make
 make test
 make install

インストール例 (Perl v5.8.8)

/usr/local/perl-5.8.8 にインストールする場合は、下記の手順で行う。

 tar zxvf stable.tar.gz
 cd perl-5.8.8
 rm -f config.sh Policy.sh
 sh Configure -de -Dprefix=/usr/local/perl-5.8.8
 make
 make test
 make install

v5.8.7 も同じ。

関連情報

スポンサード リンク

2006年12月15日 (金)

Perl スクリプトを PAR ファイルにして PAR リポジトリに登録する

PAR リポジトリから Perl モジュールをネットワーク配信するためには、以下の手順で PAR ファイルを作成する。

 perl Makefile.PL
 make
 make test
 perl -MPAR::Dist -e blib_to_par

blib ディレクトリ以下のファイルもとに PAR ファイルが作成されるので、でき上がった PAR ファイルを リポジトリに登録すれば良い(PAR::Repository でビルド済み Perl モジュールをネットワーク配信)。

ではちょっとした Perl スクリプトを PAR リポジトリからロードして使えるようにするにはどうすればよいか。もちろん h2xs などで一式そろえ make して blib ツリーを作るようにすればいいが、たった 1 つのスクリプトファイルだけの時などは大袈裟だ。

この場合は pp でいける。

 echo 'print "hello world!"' > myscript.pl
 pp -o myscript.par -p myscript.pl
 parrepo inject -r /tmp/PAR myscript.par -v 1.00 \
   -a MSWin32-x86-multi-thread -p 5.8.8 \
   --any-arch --any-version

スクリプトのメタデータがないので、parrepo に登録する際に明示的にオプションで指定してあげる必要がある。

-v
プログラムのバージョン番号
-a
アーキテクチャ
-p
Perl のバージョン
--any-arch
アーキテクチャ非依存で動くならば指定しておく
--any-version
任意の Perl のバージョンで動くならば指定しておく。

PAR ファイル(にした Perl スクリプト)が --any-arch で --any-version であっても、-a と -p は必須だ (PAR::Repository の中にアーキテクチャ/バージョンつきで登録された上でシンボリックリンクの形で any 扱いにされるため)。

これで PAR リポジトリからスクリプトを実行できるようになる。 スクリプトの更新もリポジトリ側で行うだけで良くなる。

 perl -e "use PAR { repository => 'http://www.example.com/PAR/',
                    run => 'myscript.pl'}"

お好みで実行形式ファイルにしておけば Perl をインストールすることなく実行できるようになるので便利。

 pp -o myscript.exe -M PAR::Repository::Client \
   -e "use PAR { repository => 'http://www.example.com/PAR/',
                 run => 'myscript.pl'}"

ちなみに PAR リポジトリを使わずに、直接 PAR ファイルを指定して実行できることもできる。

 perl -e "use PAR { file => 'http://www.example.com/myscript.par', \
                    run => 'myscript.pl' }

ちょっとした用途ではこちらでも良いけれど、アーキテクチャ別の管理やらモジュールの管理やらを考えると PAR リポジトリを作ってしまった方が楽。

スポンサード リンク
[ 12月15日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィの SNS の企画開発を行うグループでマネージャー・プロダクトオーナーをしています。CS 向上・ユーザーサポート・健全化などにも取り組んでいます。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.053111s / load averages: 0.96, 0.61, 0.62
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker