File Coverage

blib/lib/Enum/Declare/Common/CountryISO.pm
Criterion Covered Total %
statement 11 11 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 15 15 100.0


line stmt bran cond sub pod time code
1             package Enum::Declare::Common::CountryISO;
2              
3 1     1   87029 use 5.014;
  1         3  
4 1     1   3 use strict;
  1         1  
  1         18  
5 1     1   2 use warnings;
  1         2  
  1         48  
6              
7 1     1   387 use Enum::Declare;
  1         9753  
  1         4469  
8              
9             # ── ISO 3166-1 Alpha-2 codes (249 entries) ──
10              
11             enum Alpha2 :Str :Type :Export {
12             AD = "AD",
13             AE = "AE",
14             AF = "AF",
15             AG = "AG",
16             AI = "AI",
17             AL = "AL",
18             AM = "AM",
19             AO = "AO",
20             AQ = "AQ",
21             AR = "AR",
22             AS = "AS",
23             AT = "AT",
24             AU = "AU",
25             AW = "AW",
26             AX = "AX",
27             AZ = "AZ",
28             BA = "BA",
29             BB = "BB",
30             BD = "BD",
31             BE = "BE",
32             BF = "BF",
33             BG = "BG",
34             BH = "BH",
35             BI = "BI",
36             BJ = "BJ",
37             BL = "BL",
38             BM = "BM",
39             BN = "BN",
40             BO = "BO",
41             BQ = "BQ",
42             BR = "BR",
43             BS = "BS",
44             BT = "BT",
45             BV = "BV",
46             BW = "BW",
47             BY = "BY",
48             BZ = "BZ",
49             CA = "CA",
50             CC = "CC",
51             CD = "CD",
52             CF = "CF",
53             CG = "CG",
54             CH = "CH",
55             CI = "CI",
56             CK = "CK",
57             CL = "CL",
58             CM = "CM",
59             CN = "CN",
60             CO = "CO",
61             CR = "CR",
62             CU = "CU",
63             CV = "CV",
64             CW = "CW",
65             CX = "CX",
66             CY = "CY",
67             CZ = "CZ",
68             DE = "DE",
69             DJ = "DJ",
70             DK = "DK",
71             DM = "DM",
72             DO = "DO",
73             DZ = "DZ",
74             EC = "EC",
75             EE = "EE",
76             EG = "EG",
77             EH = "EH",
78             ER = "ER",
79             ES = "ES",
80             ET = "ET",
81             FI = "FI",
82             FJ = "FJ",
83             FK = "FK",
84             FM = "FM",
85             FO = "FO",
86             FR = "FR",
87             GA = "GA",
88             GB = "GB",
89             GD = "GD",
90             GE = "GE",
91             GF = "GF",
92             GG = "GG",
93             GH = "GH",
94             GI = "GI",
95             GL = "GL",
96             GM = "GM",
97             GN = "GN",
98             GP = "GP",
99             GQ = "GQ",
100             GR = "GR",
101             GS = "GS",
102             GT = "GT",
103             GU = "GU",
104             GW = "GW",
105             GY = "GY",
106             HK = "HK",
107             HM = "HM",
108             HN = "HN",
109             HR = "HR",
110             HT = "HT",
111             HU = "HU",
112             ID = "ID",
113             IE = "IE",
114             IL = "IL",
115             IM = "IM",
116             IN = "IN",
117             IO = "IO",
118             IQ = "IQ",
119             IR = "IR",
120             IS = "IS",
121             IT = "IT",
122             JE = "JE",
123             JM = "JM",
124             JO = "JO",
125             JP = "JP",
126             KE = "KE",
127             KG = "KG",
128             KH = "KH",
129             KI = "KI",
130             KM = "KM",
131             KN = "KN",
132             KP = "KP",
133             KR = "KR",
134             KW = "KW",
135             KY = "KY",
136             KZ = "KZ",
137             LA = "LA",
138             LB = "LB",
139             LC = "LC",
140             LI = "LI",
141             LK = "LK",
142             LR = "LR",
143             LS = "LS",
144             LT = "LT",
145             LU = "LU",
146             LV = "LV",
147             LY = "LY",
148             MA = "MA",
149             MC = "MC",
150             MD = "MD",
151             ME = "ME",
152             MF = "MF",
153             MG = "MG",
154             MH = "MH",
155             MK = "MK",
156             ML = "ML",
157             MM = "MM",
158             MN = "MN",
159             MO = "MO",
160             MP = "MP",
161             MQ = "MQ",
162             MR = "MR",
163             MS = "MS",
164             MT = "MT",
165             MU = "MU",
166             MV = "MV",
167             MW = "MW",
168             MX = "MX",
169             MY = "MY",
170             MZ = "MZ",
171             NA = "NA",
172             NC = "NC",
173             NE = "NE",
174             NF = "NF",
175             NG = "NG",
176             NI = "NI",
177             NL = "NL",
178             NO = "NO",
179             NP = "NP",
180             NR = "NR",
181             NU = "NU",
182             NZ = "NZ",
183             OM = "OM",
184             PA = "PA",
185             PE = "PE",
186             PF = "PF",
187             PG = "PG",
188             PH = "PH",
189             PK = "PK",
190             PL = "PL",
191             PM = "PM",
192             PN = "PN",
193             PR = "PR",
194             PS = "PS",
195             PT = "PT",
196             PW = "PW",
197             PY = "PY",
198             QA = "QA",
199             RE = "RE",
200             RO = "RO",
201             RS = "RS",
202             RU = "RU",
203             RW = "RW",
204             SA = "SA",
205             SB = "SB",
206             SC = "SC",
207             SD = "SD",
208             SE = "SE",
209             SG = "SG",
210             SH = "SH",
211             SI = "SI",
212             SJ = "SJ",
213             SK = "SK",
214             SL = "SL",
215             SM = "SM",
216             SN = "SN",
217             SO = "SO",
218             SR = "SR",
219             SS = "SS",
220             ST = "ST",
221             SV = "SV",
222             SX = "SX",
223             SY = "SY",
224             SZ = "SZ",
225             TC = "TC",
226             TD = "TD",
227             TF = "TF",
228             TG = "TG",
229             TH = "TH",
230             TJ = "TJ",
231             TK = "TK",
232             TL = "TL",
233             TM = "TM",
234             TN = "TN",
235             TO = "TO",
236             TR = "TR",
237             TT = "TT",
238             TV = "TV",
239             TW = "TW",
240             TZ = "TZ",
241             UA = "UA",
242             UG = "UG",
243             UM = "UM",
244             US = "US",
245             UY = "UY",
246             UZ = "UZ",
247             VA = "VA",
248             VC = "VC",
249             VE = "VE",
250             VG = "VG",
251             VI = "VI",
252             VN = "VN",
253             VU = "VU",
254             WF = "WF",
255             WS = "WS",
256             YE = "YE",
257             YT = "YT",
258             ZA = "ZA",
259             ZM = "ZM",
260             ZW = "ZW"
261             };
262              
263             # ── ISO 3166-1 Alpha-3 codes (249 entries) ──
264              
265             enum Alpha3 :Str :Type :Export {
266             AND = "AND",
267             ARE = "ARE",
268             AFG = "AFG",
269             ATG = "ATG",
270             AIA = "AIA",
271             ALB = "ALB",
272             ARM = "ARM",
273             AGO = "AGO",
274             ATA = "ATA",
275             ARG = "ARG",
276             ASM = "ASM",
277             AUT = "AUT",
278             AUS = "AUS",
279             ABW = "ABW",
280             ALA = "ALA",
281             AZE = "AZE",
282             BIH = "BIH",
283             BRB = "BRB",
284             BGD = "BGD",
285             BEL = "BEL",
286             BFA = "BFA",
287             BGR = "BGR",
288             BHR = "BHR",
289             BDI = "BDI",
290             BEN = "BEN",
291             BLM = "BLM",
292             BMU = "BMU",
293             BRN = "BRN",
294             BOL = "BOL",
295             BES = "BES",
296             BRA = "BRA",
297             BHS = "BHS",
298             BTN = "BTN",
299             BVT = "BVT",
300             BWA = "BWA",
301             BLR = "BLR",
302             BLZ = "BLZ",
303             CAN = "CAN",
304             CCK = "CCK",
305             COD = "COD",
306             CAF = "CAF",
307             COG = "COG",
308             CHE = "CHE",
309             CIV = "CIV",
310             COK = "COK",
311             CHL = "CHL",
312             CMR = "CMR",
313             CHN = "CHN",
314             COL = "COL",
315             CRI = "CRI",
316             CUB = "CUB",
317             CPV = "CPV",
318             CUW = "CUW",
319             CXR = "CXR",
320             CYP = "CYP",
321             CZE = "CZE",
322             DEU = "DEU",
323             DJI = "DJI",
324             DNK = "DNK",
325             DMA = "DMA",
326             DOM = "DOM",
327             DZA = "DZA",
328             ECU = "ECU",
329             EST = "EST",
330             EGY = "EGY",
331             ESH = "ESH",
332             ERI = "ERI",
333             ESP = "ESP",
334             ETH = "ETH",
335             FIN = "FIN",
336             FJI = "FJI",
337             FLK = "FLK",
338             FSM = "FSM",
339             FRO = "FRO",
340             FRA = "FRA",
341             GAB = "GAB",
342             GBR = "GBR",
343             GRD = "GRD",
344             GEO = "GEO",
345             GUF = "GUF",
346             GGY = "GGY",
347             GHA = "GHA",
348             GIB = "GIB",
349             GRL = "GRL",
350             GMB = "GMB",
351             GIN = "GIN",
352             GLP = "GLP",
353             GNQ = "GNQ",
354             GRC = "GRC",
355             SGS = "SGS",
356             GTM = "GTM",
357             GUM = "GUM",
358             GNB = "GNB",
359             GUY = "GUY",
360             HKG = "HKG",
361             HMD = "HMD",
362             HND = "HND",
363             HRV = "HRV",
364             HTI = "HTI",
365             HUN = "HUN",
366             IDN = "IDN",
367             IRL = "IRL",
368             ISR = "ISR",
369             IMN = "IMN",
370             IND = "IND",
371             IOT = "IOT",
372             IRQ = "IRQ",
373             IRN = "IRN",
374             ISL = "ISL",
375             ITA = "ITA",
376             JEY = "JEY",
377             JAM = "JAM",
378             JOR = "JOR",
379             JPN = "JPN",
380             KEN = "KEN",
381             KGZ = "KGZ",
382             KHM = "KHM",
383             KIR = "KIR",
384             COM = "COM",
385             KNA = "KNA",
386             PRK = "PRK",
387             KOR = "KOR",
388             KWT = "KWT",
389             CYM = "CYM",
390             KAZ = "KAZ",
391             LAO = "LAO",
392             LBN = "LBN",
393             LCA = "LCA",
394             LIE = "LIE",
395             LKA = "LKA",
396             LBR = "LBR",
397             LSO = "LSO",
398             LTU = "LTU",
399             LUX = "LUX",
400             LVA = "LVA",
401             LBY = "LBY",
402             MAR = "MAR",
403             MCO = "MCO",
404             MDA = "MDA",
405             MNE = "MNE",
406             MAF = "MAF",
407             MDG = "MDG",
408             MHL = "MHL",
409             MKD = "MKD",
410             MLI = "MLI",
411             MMR = "MMR",
412             MNG = "MNG",
413             MAC = "MAC",
414             MNP = "MNP",
415             MTQ = "MTQ",
416             MRT = "MRT",
417             MSR = "MSR",
418             MLT = "MLT",
419             MUS = "MUS",
420             MDV = "MDV",
421             MWI = "MWI",
422             MEX = "MEX",
423             MYS = "MYS",
424             MOZ = "MOZ",
425             NAM = "NAM",
426             NCL = "NCL",
427             NER = "NER",
428             NFK = "NFK",
429             NGA = "NGA",
430             NIC = "NIC",
431             NLD = "NLD",
432             NOR = "NOR",
433             NPL = "NPL",
434             NRU = "NRU",
435             NIU = "NIU",
436             NZL = "NZL",
437             OMN = "OMN",
438             PAN = "PAN",
439             PER = "PER",
440             PYF = "PYF",
441             PNG = "PNG",
442             PHL = "PHL",
443             PAK = "PAK",
444             POL = "POL",
445             SPM = "SPM",
446             PCN = "PCN",
447             PRI = "PRI",
448             PSE = "PSE",
449             PRT = "PRT",
450             PLW = "PLW",
451             PRY = "PRY",
452             QAT = "QAT",
453             REU = "REU",
454             ROU = "ROU",
455             SRB = "SRB",
456             RUS = "RUS",
457             RWA = "RWA",
458             SAU = "SAU",
459             SLB = "SLB",
460             SYC = "SYC",
461             SDN = "SDN",
462             SWE = "SWE",
463             SGP = "SGP",
464             SHN = "SHN",
465             SVN = "SVN",
466             SJM = "SJM",
467             SVK = "SVK",
468             SLE = "SLE",
469             SMR = "SMR",
470             SEN = "SEN",
471             SOM = "SOM",
472             SUR = "SUR",
473             SSD = "SSD",
474             STP = "STP",
475             SLV = "SLV",
476             SXM = "SXM",
477             SYR = "SYR",
478             SWZ = "SWZ",
479             TCA = "TCA",
480             TCD = "TCD",
481             ATF = "ATF",
482             TGO = "TGO",
483             THA = "THA",
484             TJK = "TJK",
485             TKL = "TKL",
486             TLS = "TLS",
487             TKM = "TKM",
488             TUN = "TUN",
489             TON = "TON",
490             TUR = "TUR",
491             TTO = "TTO",
492             TUV = "TUV",
493             TWN = "TWN",
494             TZA = "TZA",
495             UKR = "UKR",
496             UGA = "UGA",
497             UMI = "UMI",
498             USA = "USA",
499             URY = "URY",
500             UZB = "UZB",
501             VAT = "VAT",
502             VCT = "VCT",
503             VEN = "VEN",
504             VGB = "VGB",
505             VIR = "VIR",
506             VNM = "VNM",
507             VUT = "VUT",
508             WLF = "WLF",
509             WSM = "WSM",
510             YEM = "YEM",
511             MYT = "MYT",
512             ZAF = "ZAF",
513             ZMB = "ZMB",
514             ZWE = "ZWE"
515             };
516              
517             1;
518              
519             =head1 NAME
520              
521             Enum::Declare::Common::CountryISO - ISO 3166-1 code-to-code constants
522              
523             =head1 SYNOPSIS
524              
525             use Enum::Declare::Common::CountryISO;
526              
527             say US; # "US"
528             say USA; # "USA"
529              
530             # Type-safe country code for DB columns
531             $row->{country} = GB;
532              
533             =head1 ENUMS
534              
535             =head2 Alpha2 :Str :Export
536              
537             249 ISO 3166-1 alpha-2 constants. Each returns its own code as a string.
538              
539             =head2 Alpha3 :Str :Export
540              
541             249 ISO 3166-1 alpha-3 constants. Each returns its own code as a string.
542              
543             =head1 AUTHOR
544              
545             LNATION C<< >>
546              
547             =head1 LICENSE AND COPYRIGHT
548              
549             Copyright 2026 LNATION. Artistic License 2.0.
550              
551             =cut