JavaScript::Packer - Perl version of Dean Edwards' Packer.js
Version 0.04
A JavaScript Compressor
This module is an adaptation of Dean Edwards' Packer.js.
Additional information: http://dean.edwards.name/packer/
use JavaScript::Packer; my $packer = JavaScript::Packer->init(); $packer->minify( $javascript, $opts );
To return a scalar without changing the input simply use (e.g. example 2):
my $ret = $packer->minify( $javascript, $opts );
For backward compatibility it is still possible to call 'minify' as a function:
JavaScript::Packer::minify( $javascript, $opts );
The first argument must be a scalarref of javascript-code.
Second argument must be a hashref of options. Possible options are:
Defines compression level. Possible values are 'clean', 'shrink', 'obfuscate' and 'best'. Default value is 'clean'. 'best' uses 'shrink' or 'obfuscate' depending on which result is shorter. This is recommended because especially when compressing short scripts the result will exceed the input if compression level is 'obfuscate'.
For backward compatibility 'minify' and 'base62' will still work.
You can add a copyright notice on top of the script. The copyright notice will only be added if the compression value is 'clean'.
Common usage.
#!/usr/bin/perl use strict; use warnings; use JavaScript::Packer; my $packer = JavaScript::Packer->init(); open( UNCOMPRESSED, 'uncompressed.js' ); open( COMPRESSED, '>compressed.js' ); my $js = join( '', <UNCOMPRESSED> ); $packer->minify( \$js, { 'compress' => 'best' } ); print COMPRESSED $js; close(UNCOMPRESSED); close(COMPRESSED);
A scalar is requested by the context. The input will remain unchanged.
#!/usr/bin/perl use strict; use warnings; use JavaScript::Packer; my $packer = JavaScript::Packer->init(); open( UNCOMPRESSED, 'uncompressed.js' ); open( COMPRESSED, '>compressed.js' ); my $uncompressed = join( '', <UNCOMPRESSED> ); my $compressed = $packer->minify( \$uncompressed, { 'compress' => 'best' } ); print COMPRESSED $compressed; close(UNCOMPRESSED); close(COMPRESSED);
Merten Falk, <nevesenin at cpan.org>
<nevesenin at cpan.org>
Please report any bugs or feature requests to bug-javascript-packer at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=JavaScript-Packer.
bug-javascript-packer at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc JavaScript::Packer
Copyright 2008, 2009 Merten Falk, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install JavaScript::Packer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm JavaScript::Packer
CPAN shell
perl -MCPAN -e shell install JavaScript::Packer
For more information on module installation, please visit the detailed CPAN module installation guide.