テクデップ(Techdep)

コンピュータ、プログラミング、DTP(InDesign)に関する備忘録

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]

インストール

 これで再度、下記のコマンドを実行する。

cpan isntall PAR::Packer
 これでもモジュールが足りないと出たら適宜対処すること。

インストールの確認

 以下のコマンドを実行して、下記の様に出力されれば導入は無事成功した。

$ 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]

参考リンク

PAR-0.75(Perldoc)