Provided by: libnumber-recordlocator-perl_0.005-2_all bug


       Number::RecordLocator - Encodes integers into a short and easy to read and pronounce
       "locator string"


           use Number::RecordLocator;

           my $generator = Number::RecordLocator->new();
           my $string = $generator->encode("123456");

           # $string = "5RL2";

           my $number = $generator->decode($string);

           # $number = "123456";


       "Number::RecordLocator" encodes integers into a 32 character "alphabet" designed to be
       short and easy to read and pronounce.  The encoding maps:

           0 to O
           1 to I
           S to F
           B to P

       With a 32 bit encoding, you can map 33.5 million unique ids into a 5 character code.

       This certainly isn't an exact science and I'm not yet 100% sure of the encoding.  Feedback
       is much appreciated.

       Instantiate a new "Number::RecordLocator" object. Right now, we don't actually store any
       object-specific data, but in the future, we might.

       Initializes our integer to character and character to integer mapping tables.

   encode INTEGER
       Takes an integer. Returns a Record Locator string.

   decode STRING
       Takes a record locator string and returns an integer. If you pass in a string containing
       an invalid character, it returns undef.

   canonicalize STRING
       To compare a Record Locator string with another you can do:

         print "ALWAYS TRUE\n" if $generator->decode("B0") == $generator->decode("PO");

       However, this method provides an alternative:

         my $rl_string = $generator->encode(725);
         print "ALWAYS TRUE\n" if $generator->canonicalize("b0") eq $rl_string;
         print "ALWAYS TRUE\n" if $generator->canonicalize("BO") eq $rl_string;
         print "ALWAYS TRUE\n" if $generator->canonicalize("P0") eq $rl_string;
         print "ALWAYS TRUE\n" if $generator->canonicalize("po") eq $rl_string;

       This is primarily useful if you store the record locator rather than just the original
       integer and don't want to have to decode your strings to do comparisons.

       Takes a general Record Locator string and returns one with character mappings listed in
       "DESCRIPTION" applied to it. This allows string comparisons to work.  This returns "undef"
       if a non-alphanumeric character is found in the string.


       No bugs have been reported.

       Please report any bugs or feature requests to "", or
       through the web interface at <>.


       Jesse Vincent  "<>"


       Copyright (c) 2006, Best Practical Solutions, LLC.  All rights reserved.

       This module is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself. See perlartistic.