Acme-Bleach-Numerically
view release on metacpan or search on metacpan
lib/Acme/Bleach/Numerically.pm view on Meta::CPAN
next unless defined &{ "$arg" };
*{ $pkg . "::$arg" } = \&{ "$arg" };
}
}else{ # bleach!
open my $in, "<:raw", $0 or die "$0 : $!";
my $src = join '', grep !/use\s*Acme::Bleach::Numerically/, <$in>;
close $in;
# warn $src;
if ($src =~ /^0\.[0-9]+;?\s*$/){ # bleached
my $code = num2str($src);
eval $code;
}else{ # whiten
{
no warnings;
eval $src;
if ($@){ # dirty
$@ =~ s/\(eval \d+\)/$0/eg;
die $@;
}
}
open my $out, ">:raw", $0 or die "$0 : $!";
print $out
"use ", __PACKAGE__, ";\n",
str2num($src), "\n";
}
exit;
}
( run in 3.303 seconds using v1.01-cache-2.11-cpan-98e64b0badf )