NAME
CheckDigits::M16_001 - compute check digits for ISAN
SYNOPSIS
  use Algorithm::CheckDigits;
  $isan = CheckDigits('isan');
  if ($isan->is_valid('123A567B8912E01A')) {
	# do something
  }
  $cn = $isan->complete('123A567B8912E01');
  # $cn = '123A567B8912E01A'
  $cd = $isan->checkdigit('123A567B8912E01A');
  # $cd = '4'
  $bn = $isan->basenumber('123A567B8912E01A');
  # $bn = '123A567B8912E01'
  
DESCRIPTION
ALGORITHM
a(1) = 16b(i) = a(i) % 17 +d(i), whered(i)is the decimal value of the hexdigit at position i.c(i) = b(i) % 16a(i) = c(i-1) * 2, for i greater than 1Beginning left for each i = 1..16,
a,b,care computed.The check digit is the value for
d(16)wherec(16)equals 1.The check digit is appended as hexadecimal value to the number.
METHODS
- is_valid($number)
 - 
Returns true only if
$numberconsists 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
$numberis computed and concatenated to the end of$number.Returns the complete number with check digit or '' if
$numberdoes not consist solely of digits and spaces. - basenumber($number)
 - 
Returns the basenumber of
$numberif$numberhas a valid check digit.Return '' otherwise.
 - checkdigit($number)
 - 
Returns the checkdigit of
$numberif$numberhas a valid check digit.Return '' otherwise.
 
EXPORT
None by default.
AUTHOR
Mathias Weidner, <mamawe@cpan.org>
SEE ALSO
perl, CheckDigits, www.pruefziffernberechnung.de.