# $File: //member/autrijus/PAR/README $ $Author: autrijus $
# $Revision: #13 $ $Change: 2071 $ $DateTime: 2002/11/09 22:42:14 $

This is the README file for PAR, a toolkit to use perl scripts
and modules stored inside compressed .par files.

Please see the PAR.pm for typical uses, script/pp for bundling
prerequisite modules of scripts into a PAR file (aka PerlApp or
Perl2exe), and script/par.pl for running/making self-contained
PAR executables.

There is also a presentation "Introduction to PAR", available on
the web as <http://www.autrijus.org/par-intro/slide001.html>.

* Installation

PAR uses the standard perl module install process:

cpansign -v		# see SIGNATURE for details
perl Makefile.PL
make
make test
make install

If your system has a C compiler, the 'pp' tool and a stand-alone binary
version of par.pl will be compiled and installed automatically.
You can generate self-executable binaries by:

    % pp -o foo.exe /home/test.pl

Here are some recipes showing how to utilize pp to bundle source.pl with
all its dependencies, on target machines with different expected
settings:

- Perl with PAR.pm and its dependencies installed:

    % pp -p source.pl                   # makes source.par
    % echo "use PAR 'source.par';" > packed.pl;
    % cat source.pl >> packed.pl;       # makes packed.pl
    (now deploy 'source.par' and 'packed.pl' to target machine)
    $ perl packed.pl                    # run it

- Perl with core module installed:

    % pp -p source.pl			# makes source.par
    % par.pl -b -Opacked.pl source.par	# makes packed.pl
    (now deploy 'packed.pl' to target machine)
    $ perl packed.pl			# run it

- Perl interpreter only, without core module:

    % pp -B -p source.pl		# makes source.par
    % par.pl -B -Opacked.pl source.par  # makes packed.pl
    (now deploy 'packed.pl' to target machine)
    $ perl packed.pl			# run it

- Clean setup

    % pp -Opacked.exe source.pl		# makes packed.exe
    (now deploy 'packed.exe' to target machine)
    $ packed.exe			# run it

Note that if your perl was built as a shared library, the
'Clean setup' above will still need a separate perl5x.dll or
libperl.so to function correctly.

Please consult the documentation of 'pp' for more information.

* Copyright

Copyright 2002 by Autrijus Tang <autrijus@autrijus.org>.

All rights reserved.  You can redistribute and/or modify
this bundle under the same terms as Perl itself.

See <http://www.perl.com/perl/misc/Artistic.html>.
