Business::ISSN (3)
Leading comments
Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) Standard preamble: ========================================================================
NAME
Business::ISSN - Perl extension for International Standard Serial NumbersSYNOPSIS
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
ISSNmay contain characters other than [0-9xX], although these will be removed in the internal representation. The resulting string must look like anISSN -the first seven characters must be digits and the eighth character must be a digit, 'x', or 'X'.The string passed as the
ISSNneed not be a validISSNas long as it superficially looks like one. This allows one to use the "fix_checksum" method.One should check the validity of the
ISSNwith "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
ISSNcan't be munged to the internal format. - $obj->checksum
-
Return the ISSNchecksum.
- $obj->as_string
-
Return the ISSNas a string.
A terminating 'x' is changed to 'X'.
- $obj->is_valid
-
Returns 1 if the checksum is valid.
Returns 0 if the
ISSNdoes not pass the checksum test. The constructor accepts invalidISSN'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 ISSNcorresponds to the product one thinks it does, or that theISSNcorresponds to any product at all. It only produces a string that passes the checksum routine. If theISSNpassed 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 ISSNstring and runs it through the checksum comparison routine. Returns 1 if theISSNis 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-2016, brian d foy <bdfoy@cpan.org>. All rights reserved.You may redistribute this under the same terms as Perl itself.