Algorithm::CheckDigits::MBase_001 man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

CheckDigits::MBase_001User Contributed Perl DocumentaCheckDigits::MBase_001(3)

NAME
       CheckDigits::MBase_001 - compute check digits for UPC (US)

SYNOPSIS
	 use Algorithm::CheckDigits;

	 $rv = CheckDigits('upc');

	 if ($rv->is_valid('012345678905')) {
	       # do something
	 }

	 $cn = $rv->complete('01234567890');
	 # $cn = '012345678905'

	 $cd = $rv->checkdigit('012345678905');
	 # $cd = '5'

	 $bn = $rv->basenumber('012345678905');
	 # $bn = '01234567890'

DESCRIPTION
   ALGORITHM
       1.  Add all digits in odd-numbered positions.

       2.  Multiply the sum from step 1 with 3.

       3.  Add all digits in even-numbered positions.

       4.  Add the product from step 2 and the sum from step 3.

       5.  If the sum from step 4 is 0 modulo 10, the check digit is 0. Else
	   the check digit is 10 minus the sum from step 4 taken modulo 10.

   METHODS
       is_valid($number)
	   Returns true only if $number consists solely of numbers and the
	   last digit is a valid check digit according to the algorithm given
	   above.

	   Returns false otherwise,

       complete($number)
	   The check digit for $number is computed and concatenated to the end
	   of $number.

	   Returns the complete number with check digit or '' if $number does
	   not consist solely of digits and spaces.

       basenumber($number)
	   Returns the basenumber of $number if $number has a valid check
	   digit.

	   Return '' otherwise.

       checkdigit($number)
	   Returns the checkdigit of $number if $number has a valid check
	   digit.

	   Return '' otherwise.

   EXPORT
       None by default.

AUTHOR
       Mathias Weidner, <mathias@weidner.in-bad-schmiedeberg.de>

THANKS
       Aaron W. West pointed me to a fault in the computing of the check
       digit.

SEE ALSO
       perl, CheckDigits, www.pruefziffernberechnung.de,
       www.export911.com/e911/coding/upcChar.htm,
       www.adams1.com/pub/russadam/upccode.html, http://www.upcdatabase.com.

perl v5.14.1			  2009-11-20	     CheckDigits::MBase_001(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net