File Coverage

blib/lib/Lingua/Postcodes.pm
Criterion Covered Total %
statement 19 19 100.0
branch 5 6 83.3
condition n/a
subroutine 5 5 100.0
pod 0 1 0.0
total 29 31 93.5


line stmt bran cond sub pod time code
1             package Lingua::Postcodes;
2             $Lingua::Postcodes::VERSION = '0.003';
3 1     1   54485 use strict;
  1         2  
  1         22  
4 1     1   4 use warnings;
  1         1  
  1         27  
5 1     1   5 use utf8;
  1         1  
  1         3  
6              
7             # ABSTRACT: Returns the names of postcodes/zipcodes
8              
9 1     1   20 use Exporter 'import';
  1         2  
  1         682  
10             our @EXPORT_OK = 'name';
11              
12             my %POSTCODES = (
13             AD => { EN => 'Postal code' },
14             AF => { EN => 'Postal code' },
15             AI => { EN => 'Postcode' },
16             AL => { EN => 'Postal code' },
17             AM => { EN => 'Postal code' },
18             AR => { EN => 'CPA' },
19             AS => { EN => 'ZIP codes' },
20             AT => { EN => 'PLZ' },
21             AU => { EN => 'Postal code' },
22             AX => { EN => 'Postnummer' },
23             AZ => { EN => 'Post Code' },
24             BA => { EN => 'Postal code' },
25             BB => { EN => 'Postal code' },
26             BD => { EN => 'Postal code' },
27             BE => { EN => 'Postcode' },
28             BG => { EN => 'Postal code' },
29             BH => { EN => 'Postal code' },
30             BL => { EN => 'Code postal' },
31             BM => { EN => 'Postcode' },
32             BN => { EN => 'Postal code' },
33             BO => { EN => 'Código postal' },
34             BQ => { EN => 'Postal Code' },
35             BR => { EN => 'Postal addressing code' },
36             BT => { EN => 'Postal code' },
37             BY => { EN => 'Postal code' },
38             CA => { EN => 'Postal code', FR => 'Code postal' },
39             CC => { EN => 'Postal code' },
40             CH => { EN => 'Postal Code' },
41             CL => { EN => 'Postal code', ES => 'Código postal' },
42             CN => { EN => 'Postal code' },
43             CO => { EN => 'Postal code', ES => 'Código postal' },
44             CR => { EN => 'Postal code', ES => 'Código postal' },
45             CU => { EN => 'Postal code', ES => 'Código postal' },
46             CV => { EN => 'Postal code' },
47             CX => { EN => 'Post Code' },
48             CY => { EN => 'Postal code' },
49             CZ => { EN => 'Postal code', CZ => 'PSČ' },
50             DE => { EN => 'Postal code', DE => 'PLZ' },
51             DK => { EN => 'Postal code' },
52             DO => { EN => 'Postal code', ES => 'Código postal' },
53             DZ => { EN => 'Code postal' },
54             EC => { EN => 'Postal code', ES => 'Código postal' },
55             EE => { EN => 'Postal code' },
56             EG => { EN => 'Postal code' },
57             EH => { EN => 'Postal code' },
58             ES => { EN => 'Postal code', ES => 'Código postal' },
59             ET => { EN => 'Postal code' },
60             FI => { EN => 'Postnummer' },
61             FK => { EN => 'Postcode' },
62             FM => { EN => 'ZIP codes' },
63             FO => { EN => 'Postal code' },
64             FR => { EN => 'Postal code', FR => 'Code postal' },
65             GA => { EN => 'Postal code' },
66             GB => { EN => 'Postcode', FR => '?' },
67             GE => { EN => 'Postal code' },
68             GF => { EN => 'Code postal' },
69             GG => { EN => 'Postcode' },
70             GI => { EN => 'Postcode' },
71             GL => { EN => 'Postal code' },
72             GP => { EN => 'Code postal' },
73             GR => { EN => 'Postal code' },
74             GS => { EN => 'Postcode' },
75             GT => { EN => 'Postal code', ES => 'Código postal' },
76             GU => { EN => 'ZIP codes' },
77             GW => { EN => 'Postal code' },
78             HM => { EN => 'Postal code' },
79             HN => { EN => 'Postal code', ES => 'Código postal' },
80             HR => { EN => 'Postal code' },
81             HT => { EN => 'Code postal' },
82             HU => { EN => 'Postal code' },
83             ID => { EN => 'Postal code' },
84             IE => { EN => 'Eircode' },
85             IL => { EN => 'Postal code' },
86             IM => { EN => 'Postcode' },
87             IN => { EN => 'PIN', HI => 'डाक कोड', TA => 'அஞ்சல் குறியீடு' },
88             IO => { EN => 'Postcode' },
89             IQ => { EN => 'Postal code' },
90             IR => { EN => 'Postal code' },
91             IS => { EN => 'Postal code' },
92             IT => { EN => 'CAP' },
93             JE => { EN => 'Postcode' },
94             JM => { EN => 'Postal code' },
95             JO => { EN => 'Postal code' },
96             JP => { EN => 'Postal Code', JP => '郵便番号' },
97             KE => { EN => 'Postal code' },
98             KG => { EN => 'Postal code' },
99             KH => { EN => 'Postal code' },
100             KR => { EN => 'Postal code' },
101             KW => { EN => 'Postal code' },
102             KY => { EN => 'Postal code' },
103             KZ => { EN => 'Postal code' },
104             LA => { EN => 'Postal code' },
105             LB => { EN => 'Postal code' },
106             LI => { EN => 'PLZ' },
107             LK => { EN => 'Postal code' },
108             LR => { EN => 'Postal code' },
109             LS => { EN => 'Postal code' },
110             LT => { EN => 'Postal code' },
111             LU => { EN => 'Code postal' },
112             LV => { EN => 'Postal code' },
113             LY => { EN => 'Postal code' },
114             MA => { EN => 'Code postal' },
115             MC => { EN => 'Code postal' },
116             MD => { EN => 'Postal code' },
117             ME => { EN => 'Postal code' },
118             MF => { EN => 'Code postal' },
119             MG => { EN => 'Code postal' },
120             MH => { EN => 'ZIP codes' },
121             MK => { EN => 'Postal code' },
122             MM => { EN => 'Postal code' },
123             MN => { EN => 'Postal code' },
124             MP => { EN => 'ZIP codes' },
125             MQ => { EN => 'Code postal' },
126             MT => { EN => 'Postal code' },
127             MV => { EN => 'Postal code' },
128             MX => { EN => 'Código postal' },
129             MY => { EN => 'Postal code' },
130             MZ => { EN => 'Postal code' },
131             NA => { EN => 'Postal code' },
132             NC => { EN => 'Code postal' },
133             NE => { EN => 'Code postal' },
134             NF => { EN => 'Postal code' },
135             NG => { EN => 'Postal code' },
136             NI => { EN => 'Postal code', ES => 'Código postal' },
137             NL => { EN => 'Postal code' },
138             NO => { EN => 'Postal code' },
139             NP => { EN => 'Postal code' },
140             NZ => { EN => 'Postal code' },
141             OM => { EN => 'Postal code' },
142             PA => { EN => 'Postal code', ES => 'Código postal' },
143             PE => { EN => 'Postal code', ES => 'Código postal' },
144             PF => { EN => 'Code postal' },
145             PG => { EN => 'Postal code' },
146             PH => { EN => 'Postal code' },
147             PK => { EN => 'Postal code' },
148             PL => { EN => 'Postal code' },
149             PM => { EN => 'Code postal' },
150             PN => { EN => 'Postcode' },
151             PR => { EN => 'ZIP codes' },
152             PT => { EN => 'Postal code' },
153             PW => { EN => 'ZIP codes' },
154             PY => { EN => 'Postal code', ES => 'Código postal' },
155             RE => { EN => 'Code postal' },
156             RO => { EN => 'Postal code', RO => 'Cod poștal' },
157             RS => { EN => 'Postal code', RU => 'Poštanski broj' },
158             RU => { EN => 'Postal code' },
159             SA => { EN => 'Postal code' },
160             SD => { EN => 'Postal code' },
161             SE => { EN => 'Postal code' },
162             SG => { EN => 'Postal code' },
163             SH => { EN => 'Postcode' },
164             SI => { EN => 'Postal code' },
165             SJ => { EN => 'Postal code' },
166             SK => { EN => 'PSČ' },
167             SM => { EN => 'CPI' },
168             SN => { EN => 'Code postal' },
169             SS => { EN => 'Postal code' },
170             SV => { EN => 'Código postal' },
171             SZ => { EN => 'Postal code' },
172             TC => { EN => 'Postcode' },
173             TD => { EN => 'Code postal' },
174             TH => { EN => 'Postal code' },
175             TJ => { EN => 'Postal code' },
176             TM => { EN => 'Postal code' },
177             TN => { EN => 'Code postal' },
178             TR => { EN => 'Postal code' },
179             TT => { EN => 'Postal code' },
180             TW => { EN => 'Postal code' },
181             UA => { EN => 'Postal code' },
182             US => { EN => 'ZIP codes' },
183             UY => { EN => 'Postal code', ES => 'Código postal' },
184             UZ => { EN => 'Postal code' },
185             VA => { EN => 'CAP' },
186             VC => { EN => 'Postal code' },
187             VE => { EN => 'Postal code', ES => 'Código postal' },
188             VG => { EN => 'Postal code' },
189             VI => { EN => 'ZIP codes' },
190             VN => { EN => 'Postal code' },
191             WF => { EN => 'Code postal' },
192             YT => { EN => 'Code postal' },
193             ZA => { EN => 'Postal code' },
194             ZM => { EN => 'Postal code' },
195             );
196              
197             sub name {
198 10     10 0 495 my $country_code = shift;
199 10 100       21 if ( @_ == 0 ) {
200 4 100       16 return unless exists $POSTCODES{$country_code};
201              
202 3         14 return $POSTCODES{$country_code}{'EN'};
203             }
204             else {
205 6         8 my $language = shift;
206 6 50       18 return unless exists $POSTCODES{$country_code}{$language};
207              
208 6         23 return $POSTCODES{$country_code}{$language};
209             }
210             }
211             1;
212              
213             __END__