Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

どんな環境でも動く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になってない気がする。