GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PARL(1) User Contributed Perl Documentation PARL(1)

parl - Binary PAR Loader

(Please see pp for convenient ways to make self-contained executables, scripts or PAR archives from perl programs.)

To make a PAR distribution from a CPAN module distribution:

    % parl -p                 # make a PAR dist under the current path
    % parl -p Foo-0.01        # assume unpacked CPAN dist in Foo-0.01/

To manipulate a PAR distribution:

    % parl -i Foo-0.01-i386-freebsd-5.8.0.par   # install
    % parl -i http://foo.com/Foo-0.01           # auto-appends archname + perlver
    % parl -i cpan://AUTRIJUS/PAR-0.74          # uses CPAN author directory
    % parl -u Foo-0.01-i386-freebsd-5.8.0.par   # uninstall
    % parl -s Foo-0.01-i386-freebsd-5.8.0.par   # sign
    % parl -v Foo-0.01-i386-freebsd-5.8.0.par   # verify

To use Hello.pm from ./foo.par:

    % parl -A./foo.par -MHello 
    % parl -A./foo -MHello      # the .par part is optional

Same thing, but search foo.par in the @INC;

    % parl -Ifoo.par -MHello 
    % parl -Ifoo -MHello        # ditto

Run test.pl or script/test.pl from foo.par:

    % parl foo.par test.pl      # looks for 'main.pl' by default,
                                # otherwise run 'test.pl'

To make a self-containing executable containing a PAR file :

    % parl -O./foo foo.par
    % ./foo test.pl             # same as above

To embed the necessary non-core modules and shared objects for PAR's execution (like "Zlib", "IO", "Cwd", etc), use the -b flag:

    % parl -b -O./foo foo.par
    % ./foo test.pl             # runs anywhere with core modules installed

If you also wish to embed core modules along, use the -B flag instead:

    % parl -B -O./foo foo.par
    % ./foo test.pl             # runs anywhere with the perl interpreter

This is particularly useful when making stand-alone binary executables; see pp for details.

This stand-alone command offers roughly the same feature as "perl -MPAR", except that it takes the pre-loaded .par files via "-Afoo.par" instead of "-MPAR=foo.par".

Additionally, it lets you convert a CPAN distribution to a PAR distribution, as well as manipulate such distributions. For more information about PAR distributions, see PAR::Dist.

You can use it to run .par files:

    # runs script/run.pl in archive, uses its lib/* as libraries
    % parl myapp.par run.pl     # runs run.pl or script/run.pl in myapp.par
    % parl otherapp.pl          # also runs normal perl scripts

However, if the .par archive contains either main.pl or script/main.pl, it is used instead:

    % parl myapp.par run.pl     # runs main.pl, with 'run.pl' as @ARGV

Finally, the "-O" option makes a stand-alone binary executable from a PAR file:

    % parl -B -Omyapp myapp.par
    % ./myapp                   # run it anywhere without perl binaries

With the "--par-options" flag, generated binaries can act as "parl" to pack new binaries:

    % ./myapp --par-options -Omyap2 myapp.par   # identical to ./myapp
    % ./myapp --par-options -Omyap3 myap3.par   # now with different PAR

For an explanation of stand-alone executable format, please see par.pl.

PAR, PAR::Dist, par.pl, pp

Audrey Tang <cpan@audreyt.org>

You can write to the mailing list at <par@perl.org>, or send an empty mail to <par-subscribe@perl.org> to participate in the discussion.

Please submit bug reports to <bug-par-packer@rt.cpan.org>.

Copyright 2002-2009 by Audrey Tang <cpan@audreyt.org>.

Neither this program nor the associated pp program impose any licensing restrictions on files generated by their execution, in accordance with the 8th article of the Artistic License:

    "Aggregation of this Package with a commercial distribution is
    always permitted provided that the use of this Package is embedded;
    that is, when no overt attempt is made to make this Package's
    interfaces visible to the end user of the commercial distribution.
    Such use shall not be construed as a distribution of this Package."

Therefore, you are absolutely free to place any license on the resulting executable, as long as the packed 3rd-party libraries are also available under the Artistic License.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See LICENSE.

2020-03-08 perl v5.32.1

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.