The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

App::Packer - pack applications in a single executable file

DESCRIPTION

App::Packer packs perl scripts and all of their dependencies inside an executable.

RETURN VALUES

All methods return a false value on failure, unless otherwise specified.

METHODS

new

  my $packer = App::Packer->new( frontend => class,
                                 backend  => class );

Creates a new App::Packer instance, using the given classes as frontend and backend.

'frontend' defaults to App::Packer::Frontend::ModuleInfo, 'backend' to App::Packer::Backend::DemoPack. You need to use My::Module; if you pass My::Module as frontend or backend, unless you use the default value.

Currently known frontends are App::Packer::Frontend::ModuleInfo (default, distributed with App::Packer), and Module::ScanDeps.

Currently known backends are App::Packer::Backend::DemoPack (default, distributed with App::Packer), and App::Packer::Backend::PAR.

set_file

  $packer->set_file( 'path/to/file' );

Sets the file name of the script to be packed.

write

  my $file = $packer->write( 'my_executable' );

Writes the executable file; the file name is just the basename of the file: $Config{_exe} will be appended, and the file will be made executable (via chmod 0755).

The return value is the file name that was actually created.

set_options

  $packer->set_options( frontend => { option1 => value1,
                                      ... },
                        backend  => { option9 => value9,
                                      ... },
                       );

Sets the options for frontend and backend; see the documentation for App::Packer::Frontend and App::Packer::Backend for details.

SEE ALSO

App::Packer::Frontend, App::Packer::Backend.

AUTHOR

Mattia Barbon <mbarbon@dsi.unive.it>