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 )