| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
package Geography::States::Borders; |
|
2
|
|
|
|
|
|
|
our $AUTHORITY = 'cpan:GENE'; |
|
3
|
|
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
# ABSTRACT: Return the borders of states and provinces |
|
5
|
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
our $VERSION = '0.0107'; |
|
7
|
|
|
|
|
|
|
|
|
8
|
2
|
|
|
2
|
|
890393
|
use strictures 2; |
|
|
2
|
|
|
|
|
4458
|
|
|
|
2
|
|
|
|
|
159
|
|
|
9
|
2
|
|
|
2
|
|
5940
|
use Moo; |
|
|
2
|
|
|
|
|
21494
|
|
|
|
2
|
|
|
|
|
26
|
|
|
10
|
2
|
|
|
2
|
|
5660
|
use namespace::clean; |
|
|
2
|
|
|
|
|
38936
|
|
|
|
2
|
|
|
|
|
16
|
|
|
11
|
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
has country => ( |
|
14
|
|
|
|
|
|
|
is => 'ro', |
|
15
|
|
|
|
|
|
|
isa => sub { die "$_[0] is not valid" unless $_[0] =~ /^[a-zA-Z]+$/ }, |
|
16
|
|
|
|
|
|
|
default => sub { 'usa' }, |
|
17
|
|
|
|
|
|
|
); |
|
18
|
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
has _australia => ( |
|
20
|
|
|
|
|
|
|
is => 'ro', |
|
21
|
|
|
|
|
|
|
init_arg => undef, |
|
22
|
|
|
|
|
|
|
default => sub { |
|
23
|
|
|
|
|
|
|
{ |
|
24
|
|
|
|
|
|
|
ACT => [qw(NSW)], |
|
25
|
|
|
|
|
|
|
NSW => [qw(ACT VIC SA QLD)], |
|
26
|
|
|
|
|
|
|
NT => [qw(WA QLD SA)], |
|
27
|
|
|
|
|
|
|
QLD => [qw(NSW SA NT)], |
|
28
|
|
|
|
|
|
|
SA => [qw(WA NT QLD NSW VIC )], |
|
29
|
|
|
|
|
|
|
TAS => [], |
|
30
|
|
|
|
|
|
|
VIC => [qw(SA NSW)], |
|
31
|
|
|
|
|
|
|
WA => [qw(NT SA)], |
|
32
|
|
|
|
|
|
|
} |
|
33
|
|
|
|
|
|
|
}, |
|
34
|
|
|
|
|
|
|
); |
|
35
|
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
has _brazil => ( |
|
37
|
|
|
|
|
|
|
is => 'ro', |
|
38
|
|
|
|
|
|
|
init_arg => undef, |
|
39
|
|
|
|
|
|
|
default => sub { |
|
40
|
|
|
|
|
|
|
{ |
|
41
|
|
|
|
|
|
|
AC => [qw(AM RO)], |
|
42
|
|
|
|
|
|
|
AL => [qw(BA PE SE)], |
|
43
|
|
|
|
|
|
|
AM => [qw(AC MT RO RR)], |
|
44
|
|
|
|
|
|
|
AP => [qw(PA)], |
|
45
|
|
|
|
|
|
|
BA => [qw(ES MG GO TO PI PE AL SE)], |
|
46
|
|
|
|
|
|
|
CE => [qw(RN PB PE PI )], |
|
47
|
|
|
|
|
|
|
DF => [qw(GO MG)], |
|
48
|
|
|
|
|
|
|
ES => [qw(RJ MG BA)], |
|
49
|
|
|
|
|
|
|
GO => [qw(DF MG MS MT TO BA)], |
|
50
|
|
|
|
|
|
|
MA => [qw(PI TO PA)], |
|
51
|
|
|
|
|
|
|
MG => [qw(SP MS GO DF BA ES RJ)], |
|
52
|
|
|
|
|
|
|
MS => [qw(MT GO MG SP PR)], |
|
53
|
|
|
|
|
|
|
MT => [qw(RO AM PA TO GO MS)], |
|
54
|
|
|
|
|
|
|
PA => [qw(MT AM RR AP MA TO)], |
|
55
|
|
|
|
|
|
|
PB => [qw(PE CE RN)], |
|
56
|
|
|
|
|
|
|
PE => [qw(AL BA PI CE PB)], |
|
57
|
|
|
|
|
|
|
PI => [qw(BA TO MA CE PE)], |
|
58
|
|
|
|
|
|
|
PR => [qw(MS SP SC)], |
|
59
|
|
|
|
|
|
|
RJ => [qw(SP MG ES)], |
|
60
|
|
|
|
|
|
|
RN => [qw(PB CE)], |
|
61
|
|
|
|
|
|
|
RO => [qw(AC AM MT)], |
|
62
|
|
|
|
|
|
|
RR => [qw(AM PA)], |
|
63
|
|
|
|
|
|
|
RS => [qw(SC)], |
|
64
|
|
|
|
|
|
|
SC => [qw(RS PR)], |
|
65
|
|
|
|
|
|
|
SE => [qw(BA AL)], |
|
66
|
|
|
|
|
|
|
SP => [qw(PR MS MG RJ)], |
|
67
|
|
|
|
|
|
|
TO => [qw(GO MT PA MA PI BA)], |
|
68
|
|
|
|
|
|
|
} |
|
69
|
|
|
|
|
|
|
}, |
|
70
|
|
|
|
|
|
|
); |
|
71
|
|
|
|
|
|
|
|
|
72
|
|
|
|
|
|
|
has _canada => ( |
|
73
|
|
|
|
|
|
|
is => 'ro', |
|
74
|
|
|
|
|
|
|
init_arg => undef, |
|
75
|
|
|
|
|
|
|
default => sub { |
|
76
|
|
|
|
|
|
|
{ |
|
77
|
|
|
|
|
|
|
AB => [qw(BC NT SK)], |
|
78
|
|
|
|
|
|
|
BC => [qw(AB NT YT)], |
|
79
|
|
|
|
|
|
|
MB => [qw(NU ON SK)], |
|
80
|
|
|
|
|
|
|
NB => [qw(NS QC)], |
|
81
|
|
|
|
|
|
|
NL => [qw(QC)], |
|
82
|
|
|
|
|
|
|
NS => [qw(NB)], |
|
83
|
|
|
|
|
|
|
NT => [qw(AB BC NU SK YT)], |
|
84
|
|
|
|
|
|
|
NU => [qw(MB NT)], |
|
85
|
|
|
|
|
|
|
ON => [qw(MB QC)], |
|
86
|
|
|
|
|
|
|
PE => [], |
|
87
|
|
|
|
|
|
|
QC => [qw(NB NL ON)], |
|
88
|
|
|
|
|
|
|
SK => [qw(AB MB NT)], |
|
89
|
|
|
|
|
|
|
YT => [qw(BC NT)], |
|
90
|
|
|
|
|
|
|
} |
|
91
|
|
|
|
|
|
|
}, |
|
92
|
|
|
|
|
|
|
); |
|
93
|
|
|
|
|
|
|
|
|
94
|
|
|
|
|
|
|
has _netherlands => ( |
|
95
|
|
|
|
|
|
|
is => 'ro', |
|
96
|
|
|
|
|
|
|
init_arg => undef, |
|
97
|
|
|
|
|
|
|
default => sub { |
|
98
|
|
|
|
|
|
|
{ |
|
99
|
|
|
|
|
|
|
DR => [qw(OV FR GR)], |
|
100
|
|
|
|
|
|
|
FL => [qw(OV)], |
|
101
|
|
|
|
|
|
|
FR => [qw(FL GR DR OV)], |
|
102
|
|
|
|
|
|
|
GE => [qw(LI NB ZH UT OV)], |
|
103
|
|
|
|
|
|
|
GR => [qw(DR FR)], |
|
104
|
|
|
|
|
|
|
LI => [qw(NB GE)], |
|
105
|
|
|
|
|
|
|
NB => [qw(ZE ZH GE LI)], |
|
106
|
|
|
|
|
|
|
NH => [qw(ZH UT)], |
|
107
|
|
|
|
|
|
|
OV => [qw(GE FL FR DR)], |
|
108
|
|
|
|
|
|
|
UT => [qw(ZH NH GE)], |
|
109
|
|
|
|
|
|
|
ZE => [qw(NB)], |
|
110
|
|
|
|
|
|
|
ZH => [qw(NH UT GE NB)], |
|
111
|
|
|
|
|
|
|
AW => [], |
|
112
|
|
|
|
|
|
|
CW => [], |
|
113
|
|
|
|
|
|
|
SX => [], |
|
114
|
|
|
|
|
|
|
BQ1 => [], |
|
115
|
|
|
|
|
|
|
BQ2 => [], |
|
116
|
|
|
|
|
|
|
BQ3 => [], |
|
117
|
|
|
|
|
|
|
} |
|
118
|
|
|
|
|
|
|
}, |
|
119
|
|
|
|
|
|
|
); |
|
120
|
|
|
|
|
|
|
|
|
121
|
|
|
|
|
|
|
has _usa => ( |
|
122
|
|
|
|
|
|
|
is => 'ro', |
|
123
|
|
|
|
|
|
|
init_arg => undef, |
|
124
|
|
|
|
|
|
|
default => sub { |
|
125
|
|
|
|
|
|
|
{ |
|
126
|
|
|
|
|
|
|
AK => [], |
|
127
|
|
|
|
|
|
|
AL => [qw(FL GA MS TN)], |
|
128
|
|
|
|
|
|
|
AR => [qw(LA MS MO OK TN TX)], |
|
129
|
|
|
|
|
|
|
AS => [], |
|
130
|
|
|
|
|
|
|
AZ => [qw(CA CO NV NM UT)], |
|
131
|
|
|
|
|
|
|
CA => [qw(OR NV AZ)], |
|
132
|
|
|
|
|
|
|
CO => [qw(AZ KS NE NM OK UT)], |
|
133
|
|
|
|
|
|
|
CT => [qw(MA NY RI)], |
|
134
|
|
|
|
|
|
|
DC => [qw(VA MD)], |
|
135
|
|
|
|
|
|
|
DE => [qw(MD NJ PA)], |
|
136
|
|
|
|
|
|
|
FL => [qw(GA AL)], |
|
137
|
|
|
|
|
|
|
FM => [], |
|
138
|
|
|
|
|
|
|
GA => [qw(FL AL TN NC SC)], |
|
139
|
|
|
|
|
|
|
GU => [], |
|
140
|
|
|
|
|
|
|
HI => [], |
|
141
|
|
|
|
|
|
|
IA => [qw(IL MN MO NE SD WI)], |
|
142
|
|
|
|
|
|
|
ID => [qw(MT NV OR UT WA WY)], |
|
143
|
|
|
|
|
|
|
IL => [qw(IN KY MO IA WI)], |
|
144
|
|
|
|
|
|
|
IN => [qw(IL KY MI OH)], |
|
145
|
|
|
|
|
|
|
KS => [qw(CO MO NE OK)], |
|
146
|
|
|
|
|
|
|
KY => [qw(IL IN MO OH TN VA WV)], |
|
147
|
|
|
|
|
|
|
LA => [qw(AR MS TX)], |
|
148
|
|
|
|
|
|
|
MA => [qw(CT NH NY RI VT)], |
|
149
|
|
|
|
|
|
|
MD => [qw(DE PA VA DC WV)], |
|
150
|
|
|
|
|
|
|
ME => [qw(NH)], |
|
151
|
|
|
|
|
|
|
MH => [], |
|
152
|
|
|
|
|
|
|
MI => [qw(WI OH IN MN)], |
|
153
|
|
|
|
|
|
|
MN => [qw(IA MI ND SD WI)], |
|
154
|
|
|
|
|
|
|
MO => [qw(AR IL IA KS KY NE OK TN)], |
|
155
|
|
|
|
|
|
|
MP => [], |
|
156
|
|
|
|
|
|
|
MS => [qw(AL AR LA TN)], |
|
157
|
|
|
|
|
|
|
MT => [qw(ID ND SD WY)], |
|
158
|
|
|
|
|
|
|
NC => [qw(GA SC TN VA)], |
|
159
|
|
|
|
|
|
|
ND => [qw(MN MT SD)], |
|
160
|
|
|
|
|
|
|
NE => [qw(CO IA KS MO SD WY)], |
|
161
|
|
|
|
|
|
|
NH => [qw(MN MA VT)], |
|
162
|
|
|
|
|
|
|
NJ => [qw(NY PA DE)], |
|
163
|
|
|
|
|
|
|
NM => [qw(AZ CO OK TX UT)], |
|
164
|
|
|
|
|
|
|
NV => [qw(AZ CA ID OR UT)], |
|
165
|
|
|
|
|
|
|
NY => [qw(VT MA CT NJ PA)], |
|
166
|
|
|
|
|
|
|
OH => [qw(PA WV KY IN MI)], |
|
167
|
|
|
|
|
|
|
OK => [qw(AR CO KS MO NM TX)], |
|
168
|
|
|
|
|
|
|
OR => [qw(CA ID NV WA)], |
|
169
|
|
|
|
|
|
|
PA => [qw(NY NJ DE MD WV OH)], |
|
170
|
|
|
|
|
|
|
PR => [], |
|
171
|
|
|
|
|
|
|
PW => [], |
|
172
|
|
|
|
|
|
|
RI => [qw(CT MA NY)], |
|
173
|
|
|
|
|
|
|
SC => [qw(GA NC)], |
|
174
|
|
|
|
|
|
|
SD => [qw(IA MN MT NE ND WY)], |
|
175
|
|
|
|
|
|
|
TN => [qw(AL AR GA KY MS MO NC VA)], |
|
176
|
|
|
|
|
|
|
TX => [qw(AR LA NM OK)], |
|
177
|
|
|
|
|
|
|
UT => [qw(AZ CO ID NV NM WY)], |
|
178
|
|
|
|
|
|
|
VA => [qw(KY MD NC TN WV DC)], |
|
179
|
|
|
|
|
|
|
VI => [], |
|
180
|
|
|
|
|
|
|
VT => [qw(MA NH NY)], |
|
181
|
|
|
|
|
|
|
WA => [qw(ID OR)], |
|
182
|
|
|
|
|
|
|
WI => [qw(MN MI IA IL)], |
|
183
|
|
|
|
|
|
|
WV => [qw(KY MD OH PA VA)], |
|
184
|
|
|
|
|
|
|
WY => [qw(CO MT NE SD UT ID)], |
|
185
|
|
|
|
|
|
|
} |
|
186
|
|
|
|
|
|
|
}, |
|
187
|
|
|
|
|
|
|
); |
|
188
|
|
|
|
|
|
|
|
|
189
|
|
|
|
|
|
|
|
|
190
|
|
|
|
|
|
|
sub borders { |
|
191
|
6
|
|
|
6
|
1
|
11031
|
my ($self) = @_; |
|
192
|
6
|
|
|
|
|
26
|
my $states = '_' . lc $self->country; |
|
193
|
6
|
|
|
|
|
48
|
return $self->$states(); |
|
194
|
|
|
|
|
|
|
} |
|
195
|
|
|
|
|
|
|
|
|
196
|
|
|
|
|
|
|
1; |
|
197
|
|
|
|
|
|
|
|
|
198
|
|
|
|
|
|
|
__END__ |