Provided by: libalgorithm-checkdigits-perl_0.50-1_all

**NAME**

CheckDigits::MXX_003 - compute check digits for DEM

**SYNOPSIS**

use Algorithm::CheckDigits; $dem = CheckDigits('dem'); if ($dem->is_valid('GD0645027K1')) { # do something } $cn = $dem->complete('GD0645027K'); # $cn = 'GD0645027K1' $cd = $dem->checkdigit('GD0645027K1'); # $cd = '1' $bn = $dem->basenumber('GD0645027K1'); # $bn = 'GD0645027K'

**DESCRIPTION**

ALGORITHMThe algorithm is a variation of the Verhoeff scheme. 0 All letters are changed to numbers. 1 All digits are permutated according to a permutation table. 2 The permutated digits are combined using a dieeder table. The first with the second, the result with the third, this result with the fourth and so on. 3 The result of the last combination in the dieeder table is in such a way combined that the result is 0 (zero). The number used for this combination is the checksum. For details look at the source.METHODSis_valid($number) Returns true only if $number consists 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 $number is computed and concatenated to the end of $number. Returns the complete number with check digit or '' if $number does not consist solely of digits and spaces. basenumber($number) Returns the basenumber of $number if $number has a valid check digit. Return '' otherwise. checkdigit($number) Returns the checkdigit of $number if $number has a valid check digit. Return '' otherwise.EXPORTNone by default.

**AUTHOR**

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

**THANKS**

**SEE** **ALSO**

perl, CheckDigits,www.pruefziffernberechnung.de,