Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Number::RecordLocator(User Contributed Perl DocumentatNumber::RecordLocator(3)

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

SYNOPSIS
	   use Number::RecordLocator;

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

	   # $string = "5RL2";

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

	   # $number = "123456";

DESCRIPTION
       "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.

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

   init
       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.

BUGS AND LIMITATIONS
       No bugs have been reported.

       Please report any bugs or feature requests to
       "bug-number-recordlocator@rt.cpan.org", or through the web interface at
       <http://rt.cpan.org>.

AUTHOR
       Jesse Vincent  "<jesse@bestpractical.com>"

LICENCE	AND COPYRIGHT
       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.

perl v5.32.0			  2009-08-13	      Number::RecordLocator(3)

NAME | SYNOPSIS | DESCRIPTION | BUGS AND LIMITATIONS | AUTHOR | LICENCE AND COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Number::RecordLocator&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help