View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Jakob Voß > SeeAlso-Server > SeeAlso::Identifier::ISIL



Annotate this POD

View/Report Bugs
Module Version: 0.71   Source  


SeeAlso::Identifier::ISIL - International Standard Identifier for Libraries and Related Organisations


version 0.71


The purpose of ISIL is to define and promote the use of a set of standard identifiers for the unique identification of libraries and related organizations with a minimum impact on already existing systems. ISILs are mostly based on existing MARC Organisation Codes (also known as National Union Catalogue symbols (NUC)) or similar existing identifiers. ISIL is defined in ISO 15511:2003.

The ISIL is a variable length identifier. The ISIL consists of a maximum of 16 characters, using digits (arabic numerals 0 to 9), unmodified letters from the basic latin alphabet and the special marks solidus (/), hyphen-minus (-) and colon (:). An ISIL is made up by two components: a prefix and a library identifier, in that order, separated by a hyphen-minus.

ISIL prefixes are managed by the ISIL Registration Authority at . An ISIL prefix can either be a country code or a non country-code.

A country code identifies the country in which the library or related organization is located at the time the ISIL is assigned. The country code shall consist of two uppercase letters in accordance with the codes specified in ISO 3166-1.

A non-country code prefix is any combination of Latin alphabet characters (upper or lower case) or digits (but not special marks). The prefix may be one, three, or four characters in length. The prefix is registered at a global level with the ISIL Registration Authority.


parse ( [ $value ] )

Get and/or set the value of the ISIL. The ISIL must consist of a prefix and a local library identifier seperated by hypen-minus (-). Additionally it can be preceeded by "ISIL ".

The method returns '' or the valid, normalized ISIL.

canonical ( )

Because of lower/uppercase differences, two ISIL variants that only differ in case, may not be normalized to the same string. The 'canonical' method returns an all-upercase representation of ISIL.

hash ( )

Returns a version of ISIL to be used for indexing. This is an uppercase string because two ISIL must not differ only in case.


Returns the ISIL prefix.


Returns the local library identifier.


sigel2isil ( $sigel )

Creates an ISIL from an old German library identifier ("Sigel"). This function is only a heuristic, not all cases can be mapped automatically!


We could add validity check on prefixes with an additional prefix list. Note the usage of ISO 3166-2:1998 codes is only a recommendation in ISO 15511:2003. Moreover some country subdivision have changed since 1998 and National ISIL Agencies may have other reasons not to use the same codes as provided by Locale::SubCountry. You can find a list of prefixes in the source code of this package.


Jakob Voss


This software is copyright (c) 2013 by Jakob Voss.

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

syntax highlighting: