Scroll to navigation

Algorithm::CheckDigits::M11_015(3pm) User Contributed Perl Documentation Algorithm::CheckDigits::M11_015(3pm)

NAME

CheckDigits::M11_015 - compute check digits for ESR5 (CH)

SYNOPSIS

  use Algorithm::CheckDigits;
  $ustid = CheckDigits('esr5_ch');
  if ($ustid->is_valid('050001000012000 241170032660178 10304')) {
        # do something
  }
  $cn = $ustid->complete('0001000012000 241170032660178 10304');
  # $cn = '050001000012000 241170032660178 10304'
  $cd = $ustid->checkdigit('0001000012000 241170032660178 10304');
  # $cd = '05'
  $bn = $ustid->basenumber('050001000012000 241170032660178 10304');
  # $bn = '0001000012000 241170032660178 10304';

DESCRIPTION

ALGORITHM

1.
Beginning right all digits are weighted with the repeating sequence 2, 3, 4, 5, 6, 7.
2.
The weighted digits are added.
3.
The sum from step 2 is taken modulo 11.
4.
The checkdigit is 11 minus the sum from step 3. If the difference is 11, the checkdigit is 00.

METHODS

Returns true only if $number consists solely of numbers (with or without space between them) and the first two digits are valid check digits according to the algorithm given above.

Returns false otherwise,

The check digit for $number is computed and inserted before the $number.

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

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

Return '' otherwise.

Returns the check digits of $number if $number has valid check digits.

Return '' otherwise.

EXPORT

None by default.

AUTHOR

Mathias Weidner, "<mamawe@cpan.org>"

SEE ALSO

perl, CheckDigits, http://www.pruefziffernberechnung.de/E/Einzahlungsschein-CH.shtml (german), http://www.sic.ch/de/dl_tkicch_dta.pdf, page 52 (german)

2021-11-17 perl v5.40.0