App-depak
view release on metacpan or search on metacpan
Path to input file (script to be packed).
"-" (or if unspecified) means to take from standard input
(internally, a temporary file will be created to handle this).
* multiple_runs => *array[hash]*
Pass to tracepm.
* output_file => *filename* (default: "-")
Path to output file.
"-" (or if unspecified) means to output to stdout.
* overwrite => *bool* (default: 0)
Whether to overwrite output if previously exists.
* pack_method => *str* (default: "fatpack")
Packing method to use.
Either "fatpack" (the default) or "datapack". Fatpack puts packed
modules inside Perl variables and load them via require hook.
Datapack puts packed modules in DATA section. For more details about
each method, please consult "Module::FatPack" and
"Module::DataPack".
One thing to remember is, with datapack, your script cannot load
modules during compile-time ("use"): all modules must be loaded
during run-time ("require") when data section is already available.
Also, your script currently cannot contain data section of its own.
* perl_version => *str*
Perl version to target, defaults to current running version.
This is for determining which modules are considered core and should
be skipped by default (when "exclude_core" option is enabled).
Different perl versions have different sets of core modules as well
as different versions of the modules.
* put_hook_at_the_end => *bool*
Prefer modules from other sources (filesystem) first.
Normally, the "fatpack" or "datapack" require hook will be put at
the front of @INC. If this option is set to true, the require hook
will be put at the end. This means Perl will search modules from the
regular sources (filesystem) first. This is useful for example if
you want your application to use the possibly newer version of
modules on the filesystem before using the packed version as the
fallback when some modules are not installed.
* shebang => *str* (default: "/usr/bin/perl")
Set shebang line/path.
* skip_not_found => *bool*
Instead of dying, skip when module to add is not found.
This option is useful when you use "include_prereq", because modules
without its own .pm files will also be included (CPAN indexes
packages, including those that do not have their own .pm files).
By default, this option is turned off unless when you use
"include_prereq" where this option is by default turned on. You can
of course override the default by explicitly specify this option.
* squish => *bool* (default: 0)
Whether to squish included modules using Perl::Squish.
* strip => *bool* (default: 0)
Whether to strip included modules using Perl::Strip.
* stripper => *bool* (default: 0)
Whether to strip included modules using Perl::Stripper.
* stripper_comment => *bool* (default: 1)
Set strip_comment=1 (strip comments) in Perl::Stripper.
* stripper_log => *bool* (default: 0)
Set strip_log=1 (strip log statements) in Perl::Stripper.
* stripper_maintain_linum => *bool* (default: 0)
Set maintain_linum=1 in Perl::Stripper.
* stripper_pod => *bool* (default: 1)
Set strip_pod=1 (strip POD) in Perl::Stripper.
* stripper_ws => *bool* (default: 1)
Set strip_ws=1 (strip whitespace) in Perl::Stripper.
* test => *bool*
Test the resulting output.
Testing is done by running the resulting packed script with perl. To
test, at least one test case is required (see "--test-case-json").
Test cases specify what arguments to give to program, what exit code
we expect, and what the output should contain.
* test_cases => *array[hash]*
Example case:
{"args":["--help"], "exit_code":0, "perl_args":["-Mlib::core::only"], "output_like":"Usage:"}
* trace_extra_opts => *hash*
( run in 1.733 second using v1.01-cache-2.11-cpan-364913b4093 )