Perl::Strip - reduce file size by stripping whitespace, comments, pod etc.
This module transforms perl sources into a more compact format. It does this by removing most whitespace, comments, pod, and by some other means.
The resulting code looks obfuscated, but perl (and the deparser) don't have any problems with that. Depending on the source file you can expect about 30-60% "compression".
The main target for this module is low-diskspace environments, such as App::Staticperl, boot floppy/CDs/flash environments and so on.
See also the commandline utility perlstrip.
Perl::Strip class is a subclsass of PPI::Transform, and as such inherits all of it's methods, even the ones not documented here.
- my $transform = new Perl::Strip key => value...
Creates a new Perl::Strip transform object. It supports the following parameters:
- optimise_size => $bool
By default, this module optimises compressability, not raw size. This switch changes that (and makes it slower).
- keep_nl => $bool
By default, whitespace will either be stripped or replaced by a space. If this option is enabled, then newlines will not be removed. This has the advantage of keeping line number information intact (e.g. for backtraces), but of course doesn't compress as well.
- cache => $path
Since this module can take a very long time (minutes for the larger files in the perl distribution), it can utilise a cache directory. The directory will be created if it doesn't exist, and can be deleted at any time.
- $perl = $transform->strip ($perl)
Strips the perl source in
$perland returns the stripped source.
Marc Lehmann <email@example.com> http://home.schmorp.de/