読者です 読者をやめる 読者になる 読者になる

北海道苫小牧市出身の壮年PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

どんな環境でも動くPerlスクリプトを作る時の小道具

perl

cpanmのように素のPerlだけで余裕で動くぜっていう配布物を作る時に便利な小道具×2です。

App::FatPackerとは、依存モジュールを全て1つのファイルに押し込んでパックしてくれるライブラリです。

1枚のスクリプトに全てをまとめてくれるApp::FatPacker

CGI の配布や、アプリケーションの配布のときに、どのモジュールがどのバージョンから 標準添付になったのかを知りたくなります。

Module::CoreList - 標準添付ライブラリかどうかを調べる

後はHTTP::Tiny だとかText::MicroTemplate とかPurePerl で小粒なモジュールを集めれば、レトロでCPANモジュールがメンテされてない環境でも動作するスクリプトを、割とモダンな構成で作れて大変気分が良くなります。

ちなみにPAR::Packerでも実行可能ファイルは作れますが、これだと当然ビルドしたホストと同じ環境じゃないと動かないです。一応pp -P で出力をperlスクリプトにできるみたいですが、Fat::Packerで生成されるスクリプトより巨大で複雑怪奇なものになりますし*1依存関係をうまく解決できない不具合も残っているっぽいなど、今回の目的にはお勧めできないです。

*1:PurePerlで書いといても出力はPurePerlになってない気がする。