Acme-VarMess

 view release on metacpan or  search on metacpan

inc/Module/Install/AutoInstall.pm  view on Meta::CPAN

);1"and exit)and print"==> $p $v required. Install it from CP".
"AN? [Y/n] "and<STDIN>!~/^n/i and print"*** Installing $p\n"and
do{if (eval '$>' and lc(`sudo -V`) =~ /version/){system('sudo',
$^X,"-MCPANPLUS","-e","CPANPLUS::install $p");eval"use $p $v;1"
||system('sudo', $^X, "-MCPAN", "-e", "CPAN::install $p")}eval{
require CPANPLUS;CPANPLUS::install$p};eval"use $p $v;1"or eval{
require CPAN;CPAN::install$p};eval"use $p $v;1"||die"*** Please
manually install $p $v from cpan.org first...\n"}}}

    # Flatten array of arrays into a single array
    my @core = map @$_, map @$_, grep ref,
               $self->build_requires, $self->requires;

    while ( @core and @_ > 1 and $_[0] =~ /^-\w+$/ ) {
        push @core, splice(@_, 0, 2);
    }

    ExtUtils::AutoInstall->import(
        (@core ? (-core => \@core) : ()), @_, $self->features
    );

inc/Module/Install/Makefile.pm  view on Meta::CPAN

    if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
        $args->{NO_META} = 1;
    }
    if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 ) {
	$args->{SIGN} = 1 if $self->sign;
    }
    delete $args->{SIGN} unless $self->is_admin;

    # merge both kinds of requires into prereq_pm
    my $prereq = ($args->{PREREQ_PM} ||= {});
    %$prereq = ( %$prereq, map { @$_ } map { @$_ } grep $_,
                 ($self->build_requires, $self->requires) );

    # merge both kinds of requires into prereq_pm
    my $dir = ($args->{DIR} ||= []);
    if ($self->bundles) {
        push @$dir, map "$_->[1]", @{$self->bundles};
        delete $prereq->{$_->[0]} for @{$self->bundles};
    }

    if (my $perl_version = $self->perl_version) {
        eval "use $perl_version; 1"
            or die "ERROR: perl: Version $] is installed, ".
                   "but we need version >= $perl_version";
    }

    my %args = map {($_ => $args->{$_})} grep {defined($args->{$_})} keys %$args;

    if ($self->admin->preop) {
        $args{dist} = $self->admin->preop;
    }

    ExtUtils::MakeMaker::WriteMakefile(%args);

    $self->fix_up_makefile();
}

inc/Module/Install/Metadata.pm  view on Meta::CPAN

        }
        return @rv;
    };
}

sub features {
    my $self = shift;
    while (my ($name, $mods) = splice(@_, 0, 2)) {
        my $count = 0;
        push @{$self->{'values'}{'features'}}, ($name => [
            map { (++$count % 2 and ref($_) and ($count += $#$_)) ? @$_ : $_ } @$mods
        ] );
    }
    return @{$self->{'values'}{'features'}};
}

sub no_index {
    my $self = shift;
    my $type = shift;
    push @{$self->{'values'}{'no_index'}{$type}}, @_ if $type;
    return $self->{'values'}{'no_index'};

lib/Acme/VarMess.pm  view on Meta::CPAN

require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(blow);

our $VERSION = 0.01;


our $DEBUG = 0;

my %symtable;
my @symbol = map{('a'..'z','A'..'Z','_')
		     [int(rand(53))].(time).md5_hex($_)} shuffle 1..65536;
my %invar = map{$_=>1} qw(
			  VERSION
			  EXPORT
			  EXPORT_OK
			  ),0..9,split//,q(ab`!@#$%^&*()+-={};':",./<>?|\\[]);

sub dont_blow {
    %invar = map{$_=>1} @_;
}

sub blow($$;$) {
    my ($src, $outputfile) = @_;
    my $doc;
    if(ref $src){
	$doc = PPI::Document->new($$src);
    }
    else {
	$doc = PPI::Document->load($src);

lib/Acme/VarMess.pm  view on Meta::CPAN

=head1 DESCRIPTION

This module screws up the variables in your source code and replace
them with md5-digest-like strings. It also strips comments and PODs in
your source. There's I<no> warranty that VarMess-ed code still works
normally.

dont_blow() takes a list of symbols that you don't want to be
replaced.

Turn on $Acme::VarMess::DEBUG if you want to see the mapping table.


=head1 THE AUTHOR

Yung-chung Lin (a.k.a. xern) <xern@cpan.org>

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

=head1 SEE ALSO



( run in 0.254 second using v1.01-cache-2.11-cpan-65fba6d93b7 )