ActivePerl 5.8.8+PARでPerlスクリプトをexe化。
Perlスクリプトを実行形式(exeファイル)化できるPARですが、久しぶりに使おうとして手間取りました。以前はPARをインストールすればppコマンドが使えたのですが、現時点ではこれがPARとPAR::Packerに分かれ、ppコマンドはPAR::Packerに含まれているとのことです。また、PAR::Packerのインストールには、C環境が必要なようです。
The PAR distribution was split into two distributions with release 0.970: PAR and PAR-Packer. PAR-Packer contains all development tools such as pp, parl, etc. and requires a C compiler to install.
Main Page - Perl Archiving Toolkit - a Wikia wiki
まずPARのインストール。PARはPPMコマンドで、初期設定されているActiveStateのリポジトリからインストールできます。GUIを使っても良いですし、コマンドラインからであれば以下のようにしてインストールできます。
C:\> ppm repo
(ActiveState Package Repositoryが表示されることを確認します)
C:\> ppm install PAR
次に、PAR::Packerのインストール。まず、インストールされているPerl(ActivePerl)のバージョンが5.8.8であることを確認します。
C:\> perl -v
This is perl, v5.8.8 built for MSWin32-x86-multi-thread
PAR::Packer(ppmでの指定はPAR-Packer)は、PARのFAQにあるbribesからインストールできるはずなのですが、現時点ではここにあるものは5.8.6用です。これをインストールして使おうとすると、ppコマンドでexeファイルを作ろうとしたときに、「perlライブラリのバージョン5.8.8がperlのバージョン5.8.6と一致しない」といった旨のエラーが起きました。
上のように5.8.8であることが確認できたら、この時はPAR-Packerの代わりに、PPM packages from the University of WinnipegにあるPAR-Packer-588をインストールします。次のようにします。
C:\> ppm install http://theoryx5.uwinnipeg.ca/ppms/PAR-Packer-588.ppd
もし既にPAR::Packerをインストールしていると、次のようなメッセージが出るかもしれません。
ppm install failed: File conflict for 'C:/Perl/html/bin/par.html'.
The package PAR-Packer has already installed a file that package PAR-Packer-588
wants to install. Uninstall PAR-Packer, or use --force to allow files
to be overwritten.
この時は、次のように--forceをつけてやれば、上書きインストールされます。
C:\> ppm install http://theoryx5.uwinnipeg.ca/ppms/PAR-Packer-588.ppd --force
なお、もしPerl 5.8.8ではなく5.8.6であれば、PARのFAQにあるように、下のようにしてbribesからPAR-Packerをインストールします。
C:\> ppm rep add bribes http://www.bribes.org/perl/ppm
C:\> ppm rep up bribes
C:\> ppm install PAR-Packer
これでppコマンドが使えるようになったはずです。例えば、次のようにして確認してください。
C:\> pp -V
PAR Packager, version 0.973 (PAR version 0.973)
(簡単なPerlスクリプトhello.plを用意しておく)
C:\> pp hello.pl -o hello.exe
C:\> hello
Hello, world!
このテスト部分や、ppコマンドでexeファイルを作る際のオプションなどは、「[PAR] perlをexe化 :: ぼくはまちちゃん!」や「pp - PAR Packager - search.cpan.org」などを参照してください。