App::FatPacker(3pm)
π App::FatPacker β bestie edition π
okay so. you know how your cute lil script has like forty-eleven dependencies and you want to yeet it at someone as ONE file? that's this. App::FatPacker packs your dependencies right onto your script file. it's giving β¨portableβ¨. no cap.
πΈ SYNOPSIS πΈ
the one-liner way, the slay way:
$ fatpack pack myscript.pl >myscript.packed.pl
or, if you're a control freak bestie (valid), the step-by-step route:
$ fatpack trace myscript.pl
$ fatpack packlists-for `cat fatpacker.trace` >packlists
$ fatpack tree `cat packlists`
$ fatpack file myscript.pl >myscript.packed.pl
every single command in here is designed to be simple and self-contained, so you can literally go in and mess with the input/output of whatever step you want. go off. if you want the full lore, check the documentation for the fatpack script itself π«Ά
real talk though: the programmatic API for this code is not yet fully decided, which is exactly why we're sitting at a 0.x release version. expect it to get cleaned up for 1.0. it's a work in progress, she's growing π
π CAVEATS π
okay so here's the thing. because dependency module code gets copied into the resulting file as text, only pure-perl dependencies can be packed. compiled XS code? nope. not happening. not today. π
also, the currently-installed dependencies that get packed are found via .packlist files β and those are generally only included in non-core distributions that were installed by a CPAN installer. and bestie, that's not a bug, that's a feature. see "packlists-for" in fatpack for the deets. (one notable exception: FreeBSD, which since its packaging system is designed to work equivalently to a source install, does preserve the packlist files. iconic of them honestly π)
π SEE ALSO π
- article for Perl Advent 2012 <http://www.perladvent.org/2012/2012-12-14.html>
ppβ PAR Packager, a much more complex architecture-dependent packer that can pack compiled code and even a Perl interpreter. she's a lot. she does more. she's also more complicated. ymmv.
π«Ά SUPPORT π«Ά
got bugs? same bestie. submit them through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=App-FatPacker> (or email bug-App-FatPacker@rt.cpan.org <mailto:bug-App-FatPacker@rt.cpan.org>).
and you can normally also get assistance on irc, in #toolchain on irc.perl.org. come hang out, the vibes are immaculate π
β¨ AUTHOR β¨
Matt S. Trout (mst) <mst@shadowcat.co.uk>
πΈ CONTRIBUTORS πΈ
the whole squad, say thank you:
- miyagawa β Tatsuhiko Miyagawa (cpan:MIYAGAWA) <miyagawa@bulknews.net>
- tokuhirom β MATSUNOβ Tokuhiro (cpan:TOKUHIROM) <tokuhirom@gmail.com>
- dg β David Leadbeater (cpan:DGL) <dgl@dgl.cx>
- gugod β εεΊ·ζ° (cpan:GUGOD) <gugod@cpan.org>
- t0m β Tomas Doran (cpan:BOBTFISH) <bobtfish@bobtfish.net>
- sawyer β Sawyer X (cpan:XSAWYERX) <xsawyerx@cpan.org>
- ether β Karen Etheridge (cpan:ETHER) <ether@cpan.org>
- Mithaldu β Christian Walde (cpan:MITHALDU) <walde.christian@googlemail.com>
- dolmen β Olivier MenguΓ© (cpan:DOLMEN) <dolmen@cpan.org>
- djerius β Diab Jerius (cpan:DJERIUS) <djerius@cpan.org>
- haarg β Graham Knop (cpan:HAARG) <haarg@haarg.org>
- grinnz β Dan Book (cpan:DBOOK) <dbook@cpan.org>
and honestly? many more people are probably owed thanks for ideas. yet another doc nit to fix. π
π COPYRIGHT π
Copyright (c) 2010 the App::FatPacker "AUTHOR" and "CONTRIBUTORS" as listed above.
π LICENSE π
This library is free software and may be distributed under the same terms as perl itself.
and that's the whole page bestie!! π¦ this was perl v5.36.0, dated 2022-11-20, and it's the App::FatPacker(3pm) manual β go forth and pack your lil heart out. periodt. π
β¨
π¦ where this page comes from
- debian bookworm: libapp-fatpacker-perl 0.010008-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libapp-fatpacker-perl 0.010008-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libapp-fatpacker-perl 0.010008-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libapp-fatpacker-perl 0.010008-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libapp-fatpacker-perl 0.010008-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms