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

Returns true only if $number consists solely of numbers and hyphens and the two digits in the middle 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.
None by default.

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

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