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

```       CheckDigits::M11_009 - compute check digits NRIC (SG)

```

#### SYNOPSIS

```         use Algorithm::CheckDigits;

\$nric = CheckDigits('nric_sg');

if (\$nric->is_valid('S1234567D')) {
# do something
}

\$cn = \$nric->complete('S1234567');
# \$cn = 'S1234567D'

\$cd = \$nric->checkdigit('S1234567D');
# \$cd = 'D'

\$bn = \$nric->basenumber('S1234567D');
# \$bn = 'S1234567';

```

#### DESCRIPTION

```   ALGORITHM
1.  Beginning left every digit is weighted with 2, 7, 6, 5, 4, 3, 2

2.  The weighted digits are added.

3.  The sum from step 2 is taken modulo 11.

4.  The checkdigit is 11 minus the sum from step 3 converted to a character according to
the following table:

@cd = ('','A','B','C','D','E','F','G','H','I','Z','J', );

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 '' if \$number is valid.

Return undef otherwise.

EXPORT
None by default.

```

#### AUTHOR

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

```

#### SEEALSO

```       perl, CheckDigits, www.pruefziffernberechnung.de,
```