App-ThinPacker

 view release on metacpan or  search on metacpan

lib/App/ThinPacker.pm  view on Meta::CPAN

    my $includes = $ppi->find('Statement::Include');

    my $deps = join ' ',
               grep { $_ !~ /^(?:strict|warnings|diagnostics|base|integer)$/ }
               map { $_->module }
               @$includes;

    my $inject = join '', map { s/%%DEPS%%/$deps/; $_ } <DATA>;

    open my $script, '<', $arg or exit print "Cannot open $arg: $!\n";
    my $not_injected = 1;
    while (my $line = <$script>) {
        if ($line =~ /^use / && $not_injected) {
            print "BEGIN {\n$inject\n}\n";
            $not_injected = 0;
        }

        print $line;
    }
}

sub usage {
    pod2usage(
        -verbose => $_[0] || 0,
        -output  => \*STDERR,



( run in 0.583 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )