| line |
true |
false |
branch |
|
16
|
0 |
2 |
if $strict and $fast |
|
17
|
1 |
3 |
if $loud |
|
27
|
38 |
26 |
if $nonpublic |
|
35
|
26 |
20 |
if ($classes[$j]->isa($classes[$i])) { } |
|
|
0 |
20 |
elsif ($classes[$i]->isa($classes[$j])) { } |
|
37
|
18 |
8 |
if ($caller->isa($classes[$j])) { } |
|
|
2 |
6 |
elsif ($classes[$j]->isa($caller)) { } |
|
49
|
0 |
0 |
if ($caller->isa($classes[$i])) { } |
|
|
0 |
0 |
elsif ($classes[$i]->isa($caller)) { } |
|
77
|
1156 |
146 |
if ($key =~ /\A([\w:]*)::((_{0,2})[^:]+)\Z/) { } |
|
|
36 |
110 |
elsif ($key =~ /\A(__[^:]+)\Z/) { } |
|
|
110 |
0 |
elsif ($key =~ /\A((_?)[^:]+)\Z/) { } |
|
79
|
36 |
1120 |
unless ($classname) |
|
84
|
248 |
908 |
if ($mode eq '__') { } |
|
|
318 |
590 |
elsif ($mode eq '_') { } |
|
86
|
132 |
116 |
unless $classname eq $caller |
|
88
|
96 |
20 |
if (exists $self->{'fullkeys'}{$key}) { } |
|
90
|
0 |
96 |
if $self->{'file'}{$key} ne $file |
|
92
|
0 |
20 |
if ($delete) { } |
|
100
|
176 |
142 |
unless $caller->isa($classname) |
|
104
|
88 |
760 |
unless (exists $self->{'fullkeys'}{$key}) |
|
105
|
8 |
80 |
if $classname ne $caller and not $delete |
|
108
|
4 |
76 |
if ($delete) { } |
|
122
|
0 |
18 |
if $strict and $ENV{'UNSAFE_WARN'} |
|
123
|
22 |
14 |
unless (exists $self->{'fullkeys'}{"${caller}::$key"}) |
|
125
|
10 |
12 |
if exists $self->{'keylist'}{$key} |
|
129
|
14 |
0 |
if (exists $self->{'fullkeys'}{$key}) |
|
131
|
0 |
14 |
if $self->{'file'}{$key} ne $file |
|
141
|
0 |
55 |
if $strict and $ENV{'UNSAFE_WARN'} |
|
142
|
46 |
64 |
if (exists $self->{'fullkeys'}{$fullkey}) { } |
|
146
|
24 |
40 |
unless $self->{'keylist'}{$key} |
|
148
|
32 |
32 |
if (@classes) { } |
|
152
|
10 |
22 |
if @classes > 1 |
|
159
|
6 |
2 |
$2 ? : |
|
|
8 |
24 |
if exists $self->{'keylist'}{$key} |
|
160
|
18 |
6 |
$2 ? : |
|
168
|
4 |
918 |
if ($delete) |
|
176
|
74 |
0 |
if $strict |
|
179
|
0 |
74 |
if $isa[-1] eq 'Exporter' |
|
183
|
1 |
94 |
if ($action eq 'DELETE') { } |
|
185
|
0 |
1 |
if (exists $self->{'fullkeys'}{$k}) |
|
189
|
0 |
1 |
if $deleted |
|
192
|
30 |
64 |
if $val |
|
201
|
83 |
0 |
if $strict |
|
202
|
83 |
0 |
if ($loud) |
|
216
|
3 |
1 |
unless $fast |
|
219
|
0 |
4 |
if (@_) |
|
224
|
0 |
0 |
if $ancestor eq $blessclass |
|
226
|
0 |
0 |
unless defined $file |
|
229
|
0 |
0 |
$key =~ /::/ ? : |
|
230
|
0 |
0 |
if ($fast) { } |
|
235
|
0 |
0 |
if $key =~ /\A__/ |
|
249
|
0 |
0 |
unless $self |
|
264
|
0 |
0 |
if (eval {
do {
_access($self, $shortkey, $caller, $file);
1
}
}) { } |
|
|
0 |
0 |
elsif ($@ =~ /\AAmbiguous key/) { } |
|
274
|
0 |
0 |
if ($shortkey =~ /\A__/ and $@ =~ /file/) { } |
|
|
0 |
0 |
elsif ($shortkey =~ /\A__/) { } |
|
284
|
0 |
0 |
if (defined $val) { } |
|
290
|
0 |
0 |
if $explanation |
|
323
|
2 |
1 |
if ($strict) { } |
|
|
0 |
1 |
elsif ($fast) { } |
|
328
|
2 |
0 |
unless (caller 1)[3] =~ /\A(.*?)::([^:]*)\Z/ and $2 eq 'new' and "$1"->isa('Tie::SecureHash') and $ENV{'UNSAFE_WARN'} |
|
339
|
460 |
135 |
if (not $dangerous) { } |
|
|
72 |
63 |
elsif ($key =~ /::/) { } |
|
347
|
555 |
0 |
if $entry |
|
354
|
100 |
51 |
if (not $dangerous) { } |
|
|
41 |
10 |
elsif ($key =~ /::/) { } |
|
363
|
115 |
0 |
if $entry |
|
369
|
6 |
3 |
if (not $dangerous) { } |
|
|
2 |
1 |
elsif ($key =~ /::/) { } |
|
384
|
2 |
4 |
if ($dangerous) { } |
|
393
|
4 |
0 |
if @inaccessibles |
|
402
|
128 |
18 |
if (not $dangerous) { } |
|
|
9 |
9 |
elsif ($key =~ /::/) { } |
|
404
|
114 |
14 |
eval {
do {
_access($self, $key, @context);
1
}
} ? : |
|
411
|
9 |
0 |
if $strict |
|
426
|
6 |
240 |
if ($dangerous) |
|
432
|
228 |
228 |
if eval {
do {
_access($self, $key, @context)
}
} |
|
433
|
0 |
228 |
if $ENV{'UNSAFE_WARN'} |