This distribution contains several modules.
To install them modules, do the usual dance:
perl Makefile.PL
make
make test
make install
Number::Phone is a base class for parsing and dealing with phone numbers.
Number::Phone::UK inherits methods from it, over-riding some with UKspecific implementations. The intention is that other people will write other country-specific classes exposing the same API.
Number::Phone::NANP implements functionality common to all NANP countries. There is a subclass of this for each such country.
Number::Phone::Country is a useful module which is used by the NANP modules. It was originally written by T. J. Mather but is now maintained by me.
Please note that the build-data.* files are not intended for your use. I use them to re-build the database of UK number allocations. If you choose to use them, on your own head be it!
The data used in these modules have come from all sorts of places. Most of them disclaim any responsibility for errors in the data. I disclaim all responsibility for errors too, even if my code rapes your daughter, or makes your PBX turn purple.
Data sources used include:
http://wtng.info
various telcos and regulatory bodies linked from the above
http://www.itu.int/itu-t/inr/nnp/index.html
http://www.ofcom.org.uk/ - for UK data
http://www.areacode-info.com/ - for US data
http://www.cnac.ca/ - for Canadian data
google - trying to find valid phone numbers in some countries, for testing
I have tried to make sure that as far as possible all phone numbers used in example code and in tests belong either to bodies involved in telecoms (regulators, telcos etc) or to governments or to myself. This has not been possible for all numbers. Please don't go ringing random strangers!