1Business::ISBN::Data(3)User Contributed Perl DocumentatioBnusiness::ISBN::Data(3)
2
3
4

NAME

6       Business::ISBN::Data - data pack for Business::ISBN
7

SYNOPSIS

9       see Business::ISBN
10

DESCRIPTION

12       You don't need to load this module yourself in most cases.
13       Business::ISBN will load it when it loads. You must use Business::ISBN
14       3.005 or later because the data structure changed slightly to fix a bug
15       with ISBN13 prefixes.
16
17       These data are generated from the RangeMessage.xml file provided by the
18       ISBN Agency. The distributed version matches the date in the version
19       for this module. You can retrieve this yourself at
20       <https://www.isbn-international.org/range_file_generation>.  This file
21       is included as part of the distribution and should be installed at
22       ~lib/Business/ISBN/Data/RangeMessage.xml.
23
24       If you want to use a different RangeMessage.xml file, you can set the
25       "ISBN_RANGE_MESSAGE" environment variable to the alternate location
26       before you load "Business::ISBN". This way, you can use the latest (or
27       even earlier) data without having to install something new or wait for
28       an update to this module.
29
30       If the default RangeMessage.xml or your alternate one is not available,
31       the module falls back to data included in Data.pm. However, that data
32       are likely to be older. If it does not find that file, it looks for
33       RangeMessage.xml in the current directory.
34
35       The data are in %Business::ISBN::country_data (although the "country"
36       part is historical). If you want to see where the data are from, check
37       $Business::ISBN::country_data{_source}.
38
39   Packaging this module
40       The included RangeMessage.xml is in under lib/ at the same level as
41       Data.pm. The same data exist as the default data in the code, so you
42       don't need to pass along the distributed RangeMessage.xml.  However,
43       you can include a newer RangeMessage.xml.
44
45       With PAR, you can add extra files to the archive with "-a". Put the new
46       file somewhere the module will find it (or use "ISBN_RANGE_MESSAGE" to
47       lead it there):
48
49               pp ... -a '..../RangeMessage.xml;RangeMessage.xml'
50
51       If you put the RangeMessage.xml in the current working directory of the
52       application, the module should find it.
53
54   Updating the default data
55       In the repo, find the examples/make_default_data.pl program. Run that
56       against the latest RangeMessage.xml:
57
58               % perl -Ilib examples/make_default_data.pl RangeMessage.xml
59
60       That produces the code you need to replace in the module. Check that
61       that data aren't weird: sometimes the group names have errors or
62       oddities. The program handles escaping single quotes and trimming white
63       space.
64

SOURCE AVAILABILITY

66       This module lives in a Github repository:
67
68               https://github.com/briandfoy/business-isbn-data
69
70       You are probably also interested in the module that uses it:
71
72               https://github.com/briandfoy/business-isbn
73
74       If you have something to add, create a fork on Github and send a pull
75       request.
76

AUTHOR

78       brian d foy, "<bdfoy@cpan.org>"
79
80       Yakov Shafranovich updated the data in October 2008.
81
82       Daniel Jakubik updated the data in July 2012.
83
84       Markus Spann suggested looking for RangeMessage.xml in the current
85       directory to make it work with Perl app bundlers.
86
87       Josef Moravec "<josef.moravec@gmail.com>" updated the data in January
88       2019.
89
90       Peter Williams fixed a serious issue with ISBN-13 (GitHub #5). You must
91       use Business::ISBN 3.005 or later because the data structure changed.
92
94       Copyright © 2002-2023, brian d foy <bdfoy@cpan.org>. All rights
95       reserved.
96
97       You may redistribute this under the terms of the Artistic License 2.0.
98
99
100
101perl v5.36.0                      2023-04-03           Business::ISBN::Data(3)
Impressum