PerlスクリプトのExe化(Active Perl 5.16.3)
PerlスクリプトをExe化して(実行に必要なライブラリをまとめてくれる)、Active PerlがないWindows環境下でも実行できる様にしてくれるPerlパッケージャ(pp)に関するエントリ。Perlを扱うエントリ関連で時折見かける定番めいたもの。
PAR::Packerなるモジュールを導入すればお終いであるけれども、筆者と同じ様な環境(Active Perl 5.16.3)で導入した事例を見つけられなかったので書いておく。
必要なモジュールを入れる。
いきなり、PAR::Packerを導入したいのであれば以下のコマンドを実行すればよいが、
cpan isntall PAR::Packer
大抵の場合、必要なモジュールがないと警告が出てインストールに失敗するので、最初にPAR::Packerが必要とするモジュールをcpanなりppmなりでインストールする。
- Getopt::ArgvFile 1.07
- Module::ScanDeps 1.15
- PAR 1.005
- PAR::Dist 0.22
- Win32::ShellQuote 0.002
- Win32::Exe 0.17
実行コマンドは、
ppm install [module_name]或いは、
cpan isntall [module_name]
インストールの確認
以下のコマンドを実行して、下記の様に出力されれば導入は無事成功した。
$ pp
Set up gcc environment - 3.4.5 (mingw-vista special r3)
C:\Perl\site\bin/pp: No input files specified
単純な使用方法は以下の通り。スクリプトの実行に必要なパッケージなどを全部自動的に探して、一つのファイルにまとめてくれる(出力されるファイルのサイズは単純なスクリプトでも数MBになる)。
pp -o [output] [input]