Yes, a possible solution is to not use PAR at all!
You can replace:
use PAR;
use lib 'Bam-Kapow';
(a.k.a. use PAR 'Bam-Kapow';)
by:
BEGIN {
use Archive::Zip;
my $zip = new Archive::Zip('Bam-Kapow.par');
$zip->extractTree('', 'shazam/');
use lib 'shazam/lib';
}
END { use File::Path; rmtree 'shazam/'; }
which produces the output:
Using Bam::Kapow version 0.01
MOTD: Message of the day: PAR rules!
Got Bam::Kapow from shazam/lib/Bam/Kapow.pm
Of course, it would be nicer if PAR provided an option to do that, something like:
use PAR 'extract';
which would make it behave the same way it does when it's wrapped up in an executable.
|