Provided by: libalgorithm-checkdigits-perl_1.3.6-1_all bug

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
       is_valid($number)
           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,

       complete($number)
           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.

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

           Return '' otherwise.

       checkdigit($number)
           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)