# algorithm::checkdigits::m11_013(3pm) [debian man page]

CheckDigits::M11_013(3pm) User Contributed Perl Documentation CheckDigits::M11_013(3pm)NAME

CheckDigits::M11_013 - compute check digits for VAT Registration Number (GR)SYNOPSIS

use Algorithm::CheckDigits; $ustid = CheckDigits('ustid_gr'); if ($ustid->is_valid('123456783')) { # do something } $cn = $ustid->complete('12345678'); # $cn = '123456783' $cd = $ustid->checkdigit('123456783'); # $cd = '3' $bn = $ustid->basenumber('123456783'); # $bn = '12345678';DESCRIPTION

ALGORITHM 1. Beginning right with the digit before the checkdigit all digits are weighted with 2 ** position. I. e. the last digit is multiplied with 2, the next with 4, then 8 and so on. 2. The weighted digits are added. 3. The sum from step 2 is taken modulo 11. 4. If the sum from step 3 is greater than 9, the check sum is 0 else it is the sum itself. METHODS is_valid($number) 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, complete($number) The check digit for $number is computed and inserted into the middle of $number. Returns the complete number with check digit or '' if $number does not consist solely of digits, hyphens and 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, <mathias@weidner.in-bad-schmiedeberg.de>SEE ALSO

perl, CheckDigits, www.pruefziffernberechnung.de,perl v5.10.02008-05-17 CheckDigits::M11_013(3pm)

## Check Out this Related Man Page

CheckDigits::M97_001(3pm) User Contributed Perl Documentation CheckDigits::M97_001(3pm)NAME

CheckDigits::M97_001 - compute check digits for VAT Registration Number (BE)SYNOPSIS

use Algorithm::CheckDigits; $ustid = CheckDigits('ustid_be'); if ($ustid->is_valid('136695962')) { # do something } $cn = $ustid->complete('1366959'); # $cn = '136695962' $cd = $ustid->checkdigit('136695962'); # $cd = '62' $bn = $ustid->basenumber('136695962'); # $bn = '1366959'DESCRIPTION

ALGORITHM 1. The whole number (without checksum) is taken modulo 97. 2. The checksum is difference of the remainder from step 1 to 97. METHODS is_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 checkdigits of $number if $number has a valid check digit. Return '' otherwise. EXPORT None by default.AUTHOR

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

perl, CheckDigits, www.pruefziffernberechnung.de.perl v5.10.02008-05-17 CheckDigits::M97_001(3pm)