Thomas Berger > SeeAlso-Identifier-ISSN-0.5704 > SeeAlso::Identifier::ISSN

Download:
SeeAlso-Identifier-ISSN-0.5704.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.5704   Source  

NAME ^

SeeAlso::Identifier::ISSN - SeeAlso handling of International Standard Serial Numbers

SYNOPSIS ^

  my $issn = new SeeAlso::Identifier::ISSN "";

  print "invalid" unless $issn; # $issn is defined but false !

  $issn->value;                  # get value
  $issn->value( '1456-5935' );   # set value

  $issn->canonical; # urn:ISSN:1456-5935
  $issn; # ISSN as URI (urn:ISSN:1456-5935)

  $issn->pretty; # 1456-5935   (most official form)

  $issn->hash; # long int 0 <= x <= 9.999.999 (or "")
  $issn->hash( 1456593 ); # set by hash value

DESCRIPTION ^

This module handles International Standard Serial Numbers as identifiers by letting Business::ISSN do the real work. Unlike Business::ISSN the constructor of SeeAlso::Identifier::ISSN always returns an defined identifier with all methods provided by SeeAlso::Identifier. As canonical form the URN representation of ISSN with hyphens is used. As hashed form of an ISSN, a 32 Bit integer can be calculated.

Please note that (hashed) 0 is a valid value representing ISSN 0000-0000.

METHODS ^

parse ( $value )

Get and/or set the value of the ISSN. Returns an empty string or the valid ISSN with hyphens as determined by Business::ISSN. You can also use this method as function.

canonical

Returns a Uniform Resource Identifier (URI) for this ISSN (or an empty string).

This is an URI according to RFC 3044 ("urn:ISSN:...").

hash ( [ $value ] )

Returns or sets a space-efficient representation of the ISSN as integer. An ISSN always consists of 7 digits plus a check digit/character. This makes 10.000.000 possible ISSN which fit in a 32 bit (signed or unsigned) integer value. The integer value is calculated from the ISSN by removing the dash and the check digit.

pretty

Returns the standard form of an ISSN with dash and captialized check digit 'X'.

AUTHOR ^

Thomas Berger <THB@cpan.org>

ACKNOWLEDGEMENTS ^

Jakob Voss <jakob.voss@gbv.de> crafted SeeAlso::Identifier::ISBN where this one is heavily derived from.

COPYRIGHT ^

Copyright (c) 2010-2011 Thomas Berger.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

SEE ALSO ^

perl(1), Business::ISSN, SeeAlso::Identifer.

syntax highlighting: