Manpage logo

fatpack - Command line frontend for App::FatPacker

NAME  COMMANDS  pack  trace  packlists−for  tree  file  RECIPES  COPYRIGHT, LICENSE, AUTHOR 

NAME

fatpack − Command line frontend for App::FatPacker

COMMANDS

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.

The trace file is called 'fatpacker.trace' by default; the −−to option overrides this.

If you pass −−to−stderr fatpack writes the trace to STDERR instead.

You cannot pass both −−to and −−to−stderr.

If the −−use 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.

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.

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.

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.


Updated 2026-06-01 - jenkler.se | uex.se