Convert-AnyBase

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN


    my $libscan = \&{"ExtUtils::MM_Any::libscan"};
    *{"ExtUtils::MM_Any::libscan"} = sub {
        return '' unless $libscan->(@_);
        return '' if $_[1] =~ /\.sw[p-z]$/;
        return $_[1];
    };
}

{
    map { my ($pk, $vr) = split m/\s/; build_requires $pk => $vr || 0 } grep { ! /^\s*#/ } split m/\n/, <<_END_;
Test::Most
_END_

    map { my ($pk, $vr) = split m/\s/; requires $pk => $vr || 0 } grep { ! /^\s*#/ } split m/\n/, <<_END_;
Carp::Clan::Share
Scalar::Util
Moose
_END_
}

if (-e 'inc/.author') {
    my $all_from = join '/', 'lib', split m/-/, name . '.pm';
    `perldoc -tF $all_from > README` if ! -e 'README' || (stat $all_from)[9] > (stat 'README')[9];
}

auto_install;

WriteAll;

lib/Convert/AnyBase/Converter.pm  view on Meta::CPAN

    my $base = $self->base;
    my $normalize = $self->normalize;

    if ( $normalize ) {
        local $_ = $string;
        $string = $normalize->();
    }

    my $number = 0;
    my $offset = 1;
    my @string = reverse split m//, $string;

    for ( @string ) {
        my $value = index $set, $_;
        croak "Unknown character $_ in input \"$string\"\n" if -1 == $value;
        $number += ( $value * $offset );
        $offset *= $base;
    }

    return $number;
}

t/01-basic.t  view on Meta::CPAN

);

is( $hex->encode( 10 ), 'a' );
is( $hex->decode( 'a' ), 10 );
is( $hex->encode( 100 ), '64' );
is( $hex->decode( '64' ), 100 );
is( $hex->encode( 1234 ), '4d2' );
is( Convert::AnyBase->decimal->encode( 10 ), '10' );
is( Convert::AnyBase->decimal->encode( 100 ), '100' );

for( split m/\n/, <<_END_ ) {
607817474 j3n3r2
136293424 41zb1g
547151162 g9sq9t
1165916803 12qwym3
137391930 430vst
1182547729 137rfrh
285987952 8gqn3g
498164611 ev2rw3
_END_
    my ( $number, $string ) = split m/\s+/;
    is( $crockford->encode( $number ), $string );
    is( $crockford->decode( $string ), $number );
    is( Convert::AnyBase->crockford->encode( $number ), $string );
    is( Convert::AnyBase->crockford->decode( $string ), $number );
}

for( split m/\n/, <<_END_ ) {
774354231 2e27b537
557270409 21374589
1004781909 3be3c155
1068288472 3facc9d8
523308145 1f310c71
1115113577 42774869
97598780 5d13d3c
1118576284 42ac1e9c
_END_
    my ( $number, $string ) = split m/\s+/;
    is( $hex->encode( $number ), $string );
    is( $hex->decode( $string ), $number );
    is( Convert::AnyBase->hex->encode( $number ), $string );
    is( Convert::AnyBase->hex->decode( $string ), $number );
}

1;



( run in 0.605 second using v1.01-cache-2.11-cpan-5b529ec07f3 )