Provided by: libalgorithm-checkdigits-perl_1.3.6-2_all bug

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 the rightmost 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 appended to the end of $number.

           Returns the complete number with check digit or '' if $number does not consist solely
           of digits.

       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, "<mamawe@cpan.org>"

SEE ALSO

       perl, CheckDigits, www.pruefziffernberechnung.de,