File Coverage

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


line stmt bran cond sub pod time code
1             package Lingua::Postcodes;
2             $Lingua::Postcodes::VERSION = '0.005';
3 1     1   92191 use strict;
  1         2  
  1         28  
4 1     1   3 use warnings;
  1         6  
  1         36  
5 1     1   3 use utf8;
  1         1  
  1         4  
6              
7             # ABSTRACT: Returns the names of postcodes/zipcodes
8              
9 1     1   31 use Exporter 'import';
  1         4  
  1         748  
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' },
67             GE => { EN => 'Postal code' },
68             GF => { EN => 'Code postal' },
69             GG => { EN => 'Postcode' },
70             GH => { EN => 'Postcode' },
71             GI => { EN => 'Postcode' },
72             GL => { EN => 'Postal code' },
73             GN => { EN => 'Postcode' },
74             GP => { EN => 'Code postal' },
75             GR => { EN => 'Postal code' },
76             GS => { EN => 'Postcode' },
77             GT => { EN => 'Postal code', ES => 'Código postal' },
78             GU => { EN => 'ZIP codes' },
79             GW => { EN => 'Postal code' },
80             HM => { EN => 'Postal code' },
81             HN => { EN => 'Postal code', ES => 'Código postal' },
82             HR => { EN => 'Postal code' },
83             HT => { EN => 'Code postal' },
84             HU => { EN => 'Postal code' },
85             ID => { EN => 'Postal code' },
86             IE => { EN => 'Eircode' },
87             IL => { EN => 'Postal code' },
88             IM => { EN => 'Postcode' },
89             IN => { EN => 'PIN', HI => 'डाक कोड', TA => 'அஞ்சல் குறியீடு' },
90             IO => { EN => 'Postcode' },
91             IQ => { EN => 'Postal code' },
92             IR => { EN => 'Postal code' },
93             IS => { EN => 'Postal code' },
94             IT => { EN => 'CAP' },
95             JE => { EN => 'Postcode' },
96             JM => { EN => 'Postal code' },
97             JO => { EN => 'Postal code' },
98             JP => { EN => 'Postal Code', JP => '郵便番号' },
99             KE => { EN => 'Postal code' },
100             KG => { EN => 'Postal code' },
101             KH => { EN => 'Postal code' },
102             KN => { EN => 'Post code'},
103             KR => { EN => 'Postal code' },
104             KW => { EN => 'Postal code' },
105             KY => { EN => 'Postal code' },
106             KZ => { EN => 'Postal code' },
107             LA => { EN => 'Postal code' },
108             LB => { EN => 'Postal code' },
109             LC => { EN => 'Postcode' },
110             LI => { EN => 'PLZ' },
111             LK => { EN => 'Postal code' },
112             LR => { EN => 'Postal code' },
113             LS => { EN => 'Postal code' },
114             LT => { EN => 'Postal code' },
115             LU => { EN => 'Code postal' },
116             LV => { EN => 'Postal code' },
117             LY => { EN => 'Postal code' },
118             MA => { EN => 'Code postal' },
119             MC => { EN => 'Code postal' },
120             MD => { EN => 'Postal code' },
121             ME => { EN => 'Postal code' },
122             MF => { EN => 'Code postal' },
123             MG => { EN => 'Code postal' },
124             MH => { EN => 'ZIP codes' },
125             MK => { EN => 'Postal code' },
126             MM => { EN => 'Postal code' },
127             MN => { EN => 'Postal code' },
128             MP => { EN => 'ZIP codes' },
129             MQ => { EN => 'Code postal' },
130             MS => { EN => 'Postcode' },
131             MT => { EN => 'Postal code' },
132             MV => { EN => 'Postal code' },
133             MW => { EN => 'Post Code' },
134             MX => { EN => 'Código postal' },
135             MY => { EN => 'Postal code' },
136             MZ => { EN => 'Postal code' },
137             NA => { EN => 'Postal code' },
138             NC => { EN => 'Code postal' },
139             NE => { EN => 'Code postal' },
140             NF => { EN => 'Postal code' },
141             NG => { EN => 'Postal code' },
142             NI => { EN => 'Postal code', ES => 'Código postal' },
143             NL => { EN => 'Postal code' },
144             NO => { EN => 'Postal code' },
145             NP => { EN => 'Postal code' },
146             NZ => { EN => 'Postal code' },
147             OM => { EN => 'Postal code' },
148             PA => { EN => 'Postal code', ES => 'Código postal' },
149             PE => { EN => 'Postal code', ES => 'Código postal' },
150             PF => { EN => 'Code postal' },
151             PG => { EN => 'Postal code' },
152             PH => { EN => 'Postal code' },
153             PK => { EN => 'Postal code' },
154             PL => { EN => 'Postal code' },
155             PM => { EN => 'Code postal' },
156             PN => { EN => 'Postcode' },
157             PR => { EN => 'ZIP codes' },
158             PT => { EN => 'Postal code' },
159             PW => { EN => 'ZIP codes' },
160             PY => { EN => 'Postal code', ES => 'Código postal' },
161             RE => { EN => 'Code postal' },
162             RO => { EN => 'Postal code', RO => 'Cod poștal' },
163             RS => { EN => 'Postal code', RU => 'Poštanski broj' },
164             RU => { EN => 'Postal code' },
165             SA => { EN => 'Postal code' },
166             SD => { EN => 'Postal code' },
167             SE => { EN => 'Postal code' },
168             SG => { EN => 'Postal code' },
169             SH => { EN => 'Postcode' },
170             SI => { EN => 'Postal code' },
171             SJ => { EN => 'Postal code' },
172             SK => { EN => 'PSČ' },
173             SM => { EN => 'CPI' },
174             SN => { EN => 'Code postal' },
175             SO => { EN => 'Postcode'},
176             SS => { EN => 'Postal code' },
177             SV => { EN => 'Código postal' },
178             SZ => { EN => 'Postal code' },
179             TC => { EN => 'Postcode' },
180             TD => { EN => 'Code postal' },
181             TH => { EN => 'Postal code' },
182             TJ => { EN => 'Postal code' },
183             TM => { EN => 'Postal code' },
184             TN => { EN => 'Code postal' },
185             TR => { EN => 'Postal code' },
186             TT => { EN => 'Postal code' },
187             TW => { EN => 'Postal code' },
188             TZ => { EN => 'Postcode' },
189             UA => { EN => 'Postal code' },
190             UM => { EN => 'ZIP code'},
191             US => { EN => 'ZIP code' },
192             UY => { EN => 'Postal code', ES => 'Código postal' },
193             UZ => { EN => 'Postal code' },
194             VA => { EN => 'CAP' },
195             VC => { EN => 'Postal code' },
196             VE => { EN => 'Postal code', ES => 'Código postal' },
197             VG => { EN => 'Postal code' },
198             VI => { EN => 'ZIP code' },
199             VN => { EN => 'Postal code' },
200             WF => { EN => 'Code postal' },
201             WS => { EN => 'Postcode' },
202             YT => { EN => 'Code postal' },
203             ZA => { EN => 'Postal code' },
204             ZM => { EN => 'Postal code' },
205             );
206              
207             sub name {
208 10     10 0 145381 my $country_code = shift;
209 10 100       29 if ( @_ == 0 ) {
210 4 100       19 return unless exists $POSTCODES{$country_code};
211              
212 3         21 return $POSTCODES{$country_code}{'EN'};
213             }
214             else {
215 6         12 my $language = shift;
216 6 100       35 return unless exists $POSTCODES{$country_code}{$language};
217              
218 5         28 return $POSTCODES{$country_code}{$language};
219             }
220             }
221             1;
222              
223             __END__