FATPACK(1)
π NAME π
okay so welcome to FATPACK(1) from the User Contributed Perl Documentation besties! this is fatpack β the Command line frontend for App::FatPacker. that's literally the whole name-section vibe β¨
β¨ COMMANDS β¨
these are the main-character moves, bestie. each one does a specific step, and you can chain them like a group chat plan π
π¦ pack
$ fatpack pack myscript.pl > myscript.packed.pl
A shortcut to do all the work of tracing, collecting packlists, extracting modules in fatlib, then concatenating into a packed script β in one shot. If you need more detailed controls for additional modules, use the following commands separately (see "RECIPES"). π«Ά
π trace
$ fatpack trace [--to=trace-file|--to-stderr] [--use=MODULE]
myscript.pl
Compiles myscript.pl (as in perl -c) and writes out a trace file containing every module require()d during the compilation. literally the receipts β¨
The trace file is called fatpacker.trace by default; the --to option overrides this.
--to=trace-fileβ overrides the default trace file name.--to-stderrβ if you pass this, fatpack writes the trace toSTDERRinstead.--to+--to-stderrtogether β you cannot pass both. nope, pick one bestie π--use=MODULEβ if this option specifies a module (or modules, if used multiple times), those modules will be additionally included in the trace output.
π§Ί packlists-for
$ fatpack packlists-for Module1 Module2 Module3
Searches your perl's @INC for .packlist files containing the .pm files for the modules requested and emits a list of unique packlist files to STDOUT. π
These packlists will, in a pure cpan-installation environment, be all non-core distributions required for those modules. iconic.
Unfortunately most vendors strip the .packlist files so if you installed modules via e.g. apt-get you may be missing those modules; installing your dependencies into a local::lib first is the preferred workaround. π«
π³ tree
$ fatpack tree fatlib packlist1 packlist2 packlist3
Takes a list of packlist files and copies their contents into a tree at the requested location. πΈ
This tree should be sufficient to 'use lib' to make available all modules provided by the distributions whose packlists were specified. slay.
π file
$ fatpack file
Recurses into the 'lib' and 'fatlib' directories and bundles all .pm files found into a BEGIN block which adds a virtual @INC entry to load these files from the bundled code rather than disk. no disk drama, just bundled code energy π₯
π RECIPES π
Current basic recipe for packing:
$ fatpack trace myscript.pl
$ fatpack packlists-for `cat fatpacker.trace` >packlists
$ fatpack tree `cat packlists`
$ fatpack file myscript.pl >myscript.packed.pl
π COPYRIGHT, LICENSE, AUTHOR π
See the corresponding sections in App::FatPacker. periodt π
okay that's the whole manual, bestie! this page is from perl v5.32.1, dated 2022-07-22, and it's the FATPACK(1) page. go pack something iconic π
β¨
π¦ where this page comes from
- epel 9: perl-App-FatPacker 0.010008-13.el9 Β· GPL+ or Artistic
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms