The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

Encode::Positive::Digits - Encode a positive integer using the specified digits and vice-versa

Synopsis

 use Encode::Positive::Digits;

 ok 101 == Encode::Positive::Digits::encode(  "5", "01");
 ok   5 == Encode::Positive::Digits::decode("101", "01");

 ok "hello world" eq Encode::Positive::Digits::encode(4830138323689, " abcdefghlopqrw");
 ok 4830138323689 == Encode::Positive::Digits::decode("hello world", " abcdefghlopqrw");

The numbers to be encoded or decoded can be much greater than 2**64 via support from Math::BigInt, such numbers should be placed inside strings to avoid inadvertent truncation.

  my $n = '1'.('0'x999).'1';

  my $d = Encode::Positive::Digits::decode($n, "01");
  my $e = Encode::Positive::Digits::encode($d, "01");

  ok $n == $e

  ok length($d) ==  302;
  ok length($e) == 1001;
  ok length($n) == 1001;

Description

Encode and decode

encode

Returns a string which expresses a positive integer in decimal notation as a string using the specified digits. The specified digits can be any characters chosen from the Unicode character set.

  1  $number  Decimal integer
  2  $digits  Encoding digits

decode

Return the integer expressed in decimal notation corresponding to the value of the specified string considered as a number over the specified digits

  1  $number  Number to decode
  2  $digits  Encoding digits

Index

decode

encode

Installation

This module is written in 100% Pure Perl and, thus, it is easy to read, use, modify and install.

Standard Module::Build process for building and installing modules:

  perl Build.PL
  ./Build
  ./Build test
  ./Build install

Author

philiprbrenan@gmail.com

http://www.appaapps.com

Copyright

Copyright (c) 2016-2017 Philip R Brenan.

This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.