# NAME

CheckDigits::M07_001 - compute check digits modulo 7 method 1

# SYNOPSIS

``````  use Algorithm::CheckDigits;

\$m001 = CheckDigits('m001');

if (\$m001->is_valid('1234567892')) {
# do something
}

\$cn = \$m001->complete('123456789');    # \$cn = '1234567892'

\$cd = \$m001->checkdigit('1234567892'); # \$cd = '2'

\$bn = \$m001->basenumber('1234567892'); # \$bn = '123456789'
``````

# DESCRIPTION

## ALGORITHM

1. All digits are added.

2. All digits at even positions are added.

3. The sum of step 1 and 2 is taken modulo 7.

4. This is the check digit.

## 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 undef if `\$number` does not consist solely of digits.

basenumber(\$number)

Returns the basenumber of `\$number` if `\$number` has a valid check digit.

Return undef otherwise.

checkdigit(\$number)

Returns the check digit belonging to `\$number` or undef if `\$number` does not consist solely of digits.

None by default.

# AUTHOR

Mathias Weidner, `<mamawe@cpan.org>`