Back to articles
Shipping a Perl CLI as a single file with App::FatPacker
How-ToDevOps

Shipping a Perl CLI as a single file with App::FatPacker

via Dev.toDean Hamstead

Modern software distribution has converged on a simple idea: ship a self-contained artifact. Whether that means a statically linked binary, a container image, or a snap/flatpak, the benefits are the same -- dependency management is solved at build time, platform differences are absorbed, and upgrades and rollbacks reduce to swapping a single file. Perl's App::FatPacker applies the same principle to Perl scripts. It bundles every pure-Perl dependency into a single executable file. No cpanm , no local::lib , no Makefile on the target -- just copy the file and run it. The technique is well-established -- cpm (the CPAN installer we use in the build) is itself distributed as a fatpacked binary. The distribution pipeline looks like this: Code repo --> CI --> fatpack --> deploy --> laptops / jumpboxes / servers | single file, no dependencies This post walks through how we fatpacked an internal CLI we'll call mycli , a ~90-module Perl app, into a single file. The approach generalises to any Ap

Continue reading on Dev.to

Opens in a new tab

Read Full Article
8 views

Related Articles