Provided by: libbusiness-issn-perl_1.005-2_all bug

NAME

       Business::ISSN - Perl extension for International Standard Serial Numbers

SYNOPSIS

               use Business::ISSN;
               $issn_object = Business::ISSN->new('1456-5935');

               $issn_object = Business::ISSN->new('14565935');

               # print the ISSN (with hyphen)
               print $issn_object->as_string;

               # check to see if the ISSN is valid
               $issn_object->is_valid;

               #fix the ISSN checksum.  BEWARE:  the error might not be
               #in the checksum!
               $issn_object->fix_checksum;

               #EXPORTABLE FUNCTIONS

               use Business::ISSN qw( is_valid_checksum );

               #verify the checksum
               if( is_valid_checksum('01234567') ) { ... }

DESCRIPTION

       new($issn)
           The constructor accepts a scalar representing the ISSN.

           The string representing the ISSN may contain characters other than [0-9xX], although
           these will be removed in the internal representation.  The resulting string must look
           like an ISSN - the first seven characters must be digits and the eighth character must
           be a digit, 'x', or 'X'.

           The string passed as the ISSN need not be a valid ISSN as long as it superficially
           looks like one.  This allows one to use the "fix_checksum" method.

           One should check the validity of the ISSN with "is_valid()" rather than relying on the
           return value of the constructor.

           If all one wants to do is check the validity of an ISSN, one can skip the object-
           oriented  interface and use the c<is_valid_checksum()> function which is exportable on
           demand.

           If the constructor decides it can't create an object, it returns undef.  It may do
           this if the string passed as the ISSN can't be munged to the internal format.

       $obj->checksum
           Return the ISSN checksum.

       $obj->as_string
           Return the ISSN as a string.

           A terminating 'x' is changed to 'X'.

       $obj->is_valid
           Returns 1 if the checksum is valid.

           Returns 0 if the ISSN does not pass the checksum test.  The constructor accepts
           invalid ISSN's so that they might be fixed with "fix_checksum".

       $obj->fix_checksum
           Replace the eighth character with the checksum the corresponds to the previous seven
           digits.  This does not guarantee that the ISSN corresponds to the product one thinks
           it does, or that the ISSN corresponds to any product at all.  It only produces a
           string that passes the checksum routine.  If the ISSN passed to the constructor was
           invalid, the error might have been in any of the other nine positions.

   EXPORTABLE FUNCTIONS
       Some functions can be used without the object interface.  These do not use object
       technology behind the scenes.

       is_valid_checksum('01234567')
           Takes the ISSN string and runs it through the checksum comparison routine.  Returns 1
           if the ISSN is valid, 0 otherwise.

AUTHOR

       Currently maintained by brian d foy "<brian.d.foy@gmail.com>".

       Original module by Sami Poikonen, based on Business::ISBN by brian d foy.

       This module is released under the terms of the Perl Artistic License.

COPYRIGHT AND LICENSE

       Copyright © 1999-2021, brian d foy <bdfoy@cpan.org>. All rights reserved.

       You may redistribute this under the terms of the Artistic License 2.0.