# NAME Math::CheckDigits - Perl Module to generate and test check digits # SYNOPSIS use Math::CheckDigits; my $cd = Math::CheckDigits->new( modulus => 11, weight => [2..7], ); print $cd->checkdigit('12345678'); #5 print $cd->complete('12345678'); #123456785 print 'ok' if $cd->is_valid('123456785'); set options use Math::CheckDigits; my $cd = Math::CheckDigits->new( modulus => 10, weight => [1, 2], )->options( runes => 1, ); print $cd->complete('348764') #3487649 advanced # modulus 16 use Math::CheckDigits; $cd = Math::CheckDigits->new( modulus => 16, weight => [1], )->trans_table( 10 => '-', 11 => '$', 12 => ':', 13 => '.', 14 => '/', 15 => '+', 16 => 'a', 17 => 'b', 18 => 'c', 19 => 'd', ); print $cd->checkdigit('a16329aa') # $; # DESCRIPTION Math::CheckDigits is the Module for generating and testing check digits. This module is similar to [Algorithm::CheckDigits](http://search.cpan.org/perldoc?Algorithm::CheckDigits). But, in this module, check digits can be computed from not format names (ex. JAN ISBN..), but two arguments, Modulus and Weight. This is the difference between [Algorithm::CheckDigits](http://search.cpan.org/perldoc?Algorithm::CheckDigits) and this module. This module is effective to any check digits format using Modulus and Weight, and can't support the format that are generated from complicated algorithm. # AUTHOR Songmu <y.songmu@gmail.com> # SEE ALSO [Algorithm::CheckDigits](http://search.cpan.org/perldoc?Algorithm::CheckDigits) # LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.