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 )