DOKK / manpages / debian 12 / libalgorithm-checkdigits-perl / Algorithm::CheckDigits::M11_015.3pm.en
Algorithm::CheckDigits::M11_015(3pm) User Contributed Perl Documentation Algorithm::CheckDigits::M11_015(3pm)

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

  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';

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.

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

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

2022-10-13 perl v5.34.0