Algorithm-CheckDigits
view release on metacpan or search on metacpan
lib/Algorithm/CheckDigits.pm view on Meta::CPAN
if ($isbn->is_valid('3-930673-48-7')) {
# do something
}
$cn = $isbn->complete('3-930673-48'); # $cn = '3-930673-48-7'
$cd = $isbn->checkdigit('3-930673-48-7'); # $cd = '7'
$bn = $isbn->basenumber('3-930673-48-7'); # $bn = '3-930673-48'
=head1 ABSTRACT
This module provides a number of methods to test and generate check
digits. For more information have a look at the web site
F<www.pruefziffernberechnung.de> (german).
=head1 SUBROUTINES/METHODS
=head2 CheckDigits($method)
Returns an object of an appropriate Algorithm::CheckDigits class for the
given algorithm.
Dies with an error message if called with an unknown algorithm.
See below for the available algorithms. Every object understands the following
methods:
=over 4
=item is_valid($number)
Returns true or false if C<$number> contains/contains no valid check digit.
=item complete($number)
Returns a string representation of C<$number> completed with the appropriate
check digit.
=item checkdigit($number)
Extracts the check digit from C<$number> if C<$number> contains a valid check
digit.
=item basenumber($number)
Extracts the basenumber from C<$number> if C<$number> contains a valid check
digit.
=back
=head2 Algorithm::CheckDigits::plug_in($module, $description, $prefkey)
Register a module that provides the same four methods as above. This function
returns a handle with which the registered module can be instantiated.
The first argument C<$module> is the module to be used for this plugin. This
argument is mandatory. Do not register 'Algorithm::CheckDigits'.
The second argument is a short description of the algorithm. If it is omitted,
the string C<algorithm of module $module> will be taken.
The third argument is the preferred key for this algorithm. The C<plug_in()>
function does not guarantee to register the algorithm with this key. Instead
it returns the key under which the algorithm is registered.
See L</"REGISTERING PLUGINS"> for more information on registering plugins.
=head2 Algorithm::CheckDigits::method_list()
Returns a list of known methods for check digit computation.
=head2 Algorithm::CheckDigits::method_descriptions()
Returns a hash of descriptions for the known methods for check digit
computations. The keys of the hash are the values returned by
C<method_list()>.
=head2 Algorithm::CheckDigits::print_methods()
Returns a list of known methods for check digit computation.
You may use the following to find out which methods your version of
Algorithm::CheckDigits provides and where to look for further
information.
perl -MAlgorithm::CheckDigits -e Algorithm::CheckDigits::print_methods
=head2 CHECK SUM METHODS
At the moment these methods to compute check digits are provided:
(vatrn - VAT Return Number, in german ustid UmsatzSTeuer-ID)
=over 4
=item euronote
European bank notes, see L<Algorithm::CheckDigits::M09_001>.
=item amex, bahncard, diners, discover, enroute, eurocard, happydigits,
isin, jcb, klubkarstadt, mastercard, miles&more, visa, imei, imeisv
See L<Algorithm::CheckDigits::M10_001>.
=item siren, siret
See L<Algorithm::CheckDigits::M10_002>.
=item ismn
See L<Algorithm::CheckDigits::M10_003>.
=item ean, iln, isbn13, nve, 2aus5
See L<Algorithm::CheckDigits::M10_004>.
=item identcode_dp, leitcode_dp
See L<Algorithm::CheckDigits::M10_005>.
( run in 1.159 second using v1.01-cache-2.11-cpan-39bf76dae61 )