NAME

pp - generate executables from Perl programs

SYNOPSIS

    $ pp hello			# Compiles into executable 'a.out'
    $ pp -o hello hello.pl	# Compiles into executable 'hello'

    $ pp -p file		# Creates a PAR file, 'file.par'
    $ pp -S -o hello file	# Creates a PAR file, 'file.par',
				# then compiles it to executable 'hello'
    $ pp -p -o out.par file	# Creates a PAR file, 'out.par' from 'file'
    $ pp -B -p -o out.par file	# same as above, but bundles core modules
				# (-B is assumed when making executables)

    $ pp -e 'print q//'		# Compiles a one-liner into 'a.out'
    $ pp -c -e 'print q//'	# Creates a PAR file 'a.out.par'

    $ pp -I /foo hello		# extra paths (notice the space after -I)
    $ pp -M /foo hello		# extra modules (notice the space after -M)

    $ pp -r hello		# compiles 'hello' into 'a.out', runs 'a.out'.
    $ pp -r hello a b c		# compiles 'hello' into 'a.out', runs 'a.out'.
				# with arguments 'a b c' 

    $ pp hello -log c		# compiles 'hello' into 'a.out' logs compile
				# log into 'c'. 

DESCRIPTION

pp creates standalone executables from Perl programs, using the compressed packager provided by the PAR module. The programs are stored verbatim without compilation.

You may think of pp as "perlcc that works without hassle". :-)

OPTIONS

-Mmodule names

Adds the given modules to the dependency search patch and to the binary.

-Ilibrary directories

Adds the given directories to the perl library file search path.

-o output file name

Specifies the file name for the final compiled executable.

-p PAR file name

Create PAR archives only; do not compile to a standalone binary.

-e perl code

Compile a one-liner, much the same as perl -e '...'

-S

Do not delete generated PAR file after compilation.

-v

Increase verbosity of output; can be repeated for more verbose output.

-r

Run the resulting compiled script after compiling it.

-log

Log the output of compiling to a file rather than to stdout.

SEE ALSO

PAR, par.pl, perlcc

ACKNOWLEDGMENTS

Simon Cozens, Tom Christiansen and Edward Peschko for writing perlcc; this program try to mimick its interface as close as possible, and used liberally from their code.

Mattia Barbon for providing the myldr binary loader code.

Jeff Goff for suggesting the name pp.

AUTHORS

Autrijus Tang <autrijus@autrijus.org>

COPYRIGHT

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

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

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