.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Business::ISBN::Data 3" .TH Business::ISBN::Data 3 2024-02-10 "perl v5.38.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Business::ISBN::Data \- data pack for Business::ISBN .SH SYNOPSIS .IX Header "SYNOPSIS" see Business::ISBN .SH DESCRIPTION .IX Header "DESCRIPTION" You don't need to load this module yourself in most cases. Business::ISBN will load it when it loads. You must use Business::ISBN 3.005 or later because the data structure changed slightly to fix a bug with ISBN13 prefixes. .PP These data are generated from the \fIRangeMessage.xml\fR file provided by the ISBN Agency. The distributed version matches the date in the version for this module. You can retrieve this yourself at . This file is included as part of the distribution and should be installed at \fI~lib/Business/ISBN/Data/RangeMessage.xml\fR. .PP If you want to use a different \fIRangeMessage.xml\fR file, you can set the \f(CW\*(C`ISBN_RANGE_MESSAGE\*(C'\fR environment variable to the alternate location before you load \f(CW\*(C`Business::ISBN\*(C'\fR. This way, you can use the latest (or even earlier) data without having to install something new or wait for an update to this module. .PP If the default \fIRangeMessage.xml\fR or your alternate one is not available, the module falls back to data included in \fIData.pm\fR. However, that data are likely to be older. If it does not find that file, it looks for \fIRangeMessage.xml\fR in the current directory. .PP The data are in \f(CW%Business::ISBN::country_data\fR (although the "country" part is historical). If you want to see where the data are from, check \&\f(CW$Business::ISBN::country_data{_source}\fR. .SS "Packaging this module" .IX Subsection "Packaging this module" The included \fIRangeMessage.xml\fR is in under \fIlib/\fR at the same level as \fIData.pm\fR. The same data exist as the default data in the code, so you don't need to pass along the distributed \fIRangeMessage.xml\fR. However, you can include a newer \fIRangeMessage.xml\fR. .PP With PAR, you can add extra files to the archive with \f(CW\*(C`\-a\*(C'\fR. Put the new file somewhere the module will find it (or use \f(CW\*(C`ISBN_RANGE_MESSAGE\*(C'\fR to lead it there): .PP .Vb 1 \& pp ... \-a \*(Aq..../RangeMessage.xml;RangeMessage.xml\*(Aq .Ve .PP If you put the \fIRangeMessage.xml\fR in the current working directory of the application, the module should find it. .SS "Updating the default data" .IX Subsection "Updating the default data" In the repo, find the \fIexamples/make_default_data.pl\fR program. Run that against the latest \fIRangeMessage.xml\fR: .PP .Vb 1 \& % perl \-Ilib examples/make_default_data.pl RangeMessage.xml .Ve .PP That produces the code you need to replace in the module. Check that that data aren't weird: sometimes the group names have errors or oddities. The program handles escaping single quotes and trimming white space. .SH "SOURCE AVAILABILITY" .IX Header "SOURCE AVAILABILITY" This module lives in a Github repository: .PP .Vb 1 \& https://github.com/briandfoy/business\-isbn\-data .Ve .PP You are probably also interested in the module that uses it: .PP .Vb 1 \& https://github.com/briandfoy/business\-isbn .Ve .PP If you have something to add, create a fork on Github and send a pull request. .SH AUTHOR .IX Header "AUTHOR" brian d foy, \f(CW\*(C`\*(C'\fR .PP Yakov Shafranovich updated the data in October 2008. .PP Daniel Jakubik updated the data in July 2012. .PP Markus Spann suggested looking for \fIRangeMessage.xml\fR in the current directory to make it work with Perl app bundlers. .PP Josef Moravec \f(CW\*(C`\*(C'\fR updated the data in January 2019. .PP Peter Williams fixed a serious issue with ISBN\-13 (GitHub #5). You must use Business::ISBN 3.005 or later because the data structure changed. .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright © 2002\-2024, brian d foy . All rights reserved. .PP You may redistribute this under the terms of the Artistic License 2.0.