もう 3 回目になるが、Perl スクリプトを exe 化する方法について。Perl が 5.12.2 にアップデートしたのでまとめてみた。
PARでPerlスクリプトをexe化 @ ActivePerl 5.10.1 build 1007
https://blog.delphinus.dev/2010/02/par-activeperl-5101-build-1007.htmlActivePerl 5.12 で PAR::Packer をインストール
https://blog.delphinus.dev/2010/04/install-par-packer-on-activeperl-5120.html
必要モジュールのインストール
まずは、PPM(Perl Package Manager)を使って必要なモジュール(+α)をインストールする。
Win32::ExeParse::BinaryGetopt::ArgvfilePARPAR::DistdmakeMinGW
前回このリストに並べていた Module::ScanDeps がここにない。最終目標となる PAR::Packer のインストールには Module::ScanDeps のバージョン 0.98 以上が必要なのだが、現在 PPM 上には 0.97 しかおいてないのだ。
また、最後の 2 行に dmake と MinGW を加えた。これらは今回のバージョンでは最初から PPM でインストール可能だ。
PAR::Packer のインストール
cpan コマンドを使って PAR::Packer をインストールする。
C:\> cpan -fi PAR::Packer
これによって PAR::Packer と、最新版の Module::ScanDeps が同時にインストールされる。
exe 化してみる
まずは、Hello, World!
C:\> pp -E "say q.Hello, World!." -o test1.exe C:\> test1 Hello, World! C:\>

モジュールを使った少し複雑なスクリプト(参考)。後はいろいろ試してみよう。
#!/usr/bin/perl
use utf8;
use Win32::Console::ANSI;
binmode STDOUT => ":encoding(cp932)";
printf "\e[1;37;%dmこれはテストです\e[m\n", 40 + $_
for 0 .. 7;
C:\> pp -o test2.exe test2.pl C:\> test2 これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです これはテストです C:\>
