Quick Navigator

 Search Site Miscellaneous Server Agreement Year 2038 Credits

Manual Reference Pages  -  ALGORITHM::CHECKDIGITS::MXX_004 (3)

.ds Aq ’

NAME

CheckDigits::MXX_004 - compute check digits for VAT RN (AT)

SYNOPSIS

```

use Algorithm::CheckDigits;

\$vat = CheckDigits(ustid_at);

if (\$vat->is_valid(U13585627)) {
# do something
}

\$cn = \$vat->complete(U1358562);
# \$cn = U13585627

\$cd = \$vat->checkdigit(U13585627);
# \$cd = 7

\$bn = \$vat->basenumber(U13585627);
# \$bn = U1358562

```

DESCRIPTION

ALGORITHM

 1. Beginning right all numbers before the check digit are weighted alternatively 1 and 2. 2. The total of the digits of all products is computed and then subtracted from 96. 3. The check digit is the sum of step 3 taken modulo 10.

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 checkdigit of \$number if \$number has a valid check digit. Return ’’ otherwise.

None by default.

AUTHOR

Mathias Weidner, <mamawe@cpan.org>