| line |
true |
false |
branch |
|
19
|
0 |
9 |
if %opts |
|
21
|
0 |
9 |
if ($$self{'keep_order'}) |
|
22
|
0 |
0 |
unless eval "require $HashClass" |
|
35
|
0 |
24 |
if ($$self{'keep_order'}) |
|
44
|
0 |
51 |
unless $self->_parse_bareword(\$data, \$offset, \$line, \my($key)) |
|
46
|
7 |
37 |
unless $self->_parse_eq_sign(\$data, \$offset, \$line) |
|
48
|
0 |
37 |
unless $self->_parse_value(\$data, \$offset, \$line, \my($val)) |
|
50
|
0 |
37 |
unless $self->_parse_delim(undef, \$data, \$offset, \$line) |
|
65
|
109 |
248 |
if (defined $1) |
|
77
|
0 |
80 |
unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref) |
|
84
|
0 |
80 |
unless $$data_ref =~ /\G(\w+)/g |
|
98
|
0 |
30 |
unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref) |
|
105
|
1 |
29 |
if (substr($$data_ref, $$offset_ref, 1) eq '"') { } |
|
119
|
49 |
61 |
if ($has_data and substr($$data_ref, $$offset_ref, 1) eq ',') |
|
125
|
47 |
14 |
if ($line_was != $$line_ref) |
|
130
|
0 |
0 |
unless (defined $ok_if or $has_data) |
|
135
|
14 |
0 |
if ($has_data and substr($$data_ref, $$offset_ref, 1) eq $ok_if) |
|
148
|
0 |
51 |
unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref) |
|
153
|
14 |
37 |
unless (substr($$data_ref, $$offset_ref, 1) eq '=') |
|
166
|
0 |
110 |
unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref) |
|
172
|
17 |
93 |
if ($c eq '{') { } |
|
|
17 |
76 |
elsif ($c eq '[') { } |
|
|
6 |
70 |
elsif ($c eq 't') { } |
|
|
6 |
64 |
elsif ($c eq 'f') { } |
|
|
6 |
58 |
elsif ($c eq 'n') { } |
|
|
23 |
35 |
elsif ($c eq '"') { } |
|
|
35 |
0 |
elsif ($c =~ /-|\d/) { } |
|
205
|
0 |
18 |
unless substr($$data_ref, $$offset_ref, $len) eq $constant and $len + $$offset_ref == length $$data_ref || substr($$data_ref, $$offset_ref + $len, 1) =~ /[\s,\]}]/ |
|
221
|
0 |
35 |
unless $$data_ref =~ /\G(-?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?)/cg |
|
241
|
0 |
60 |
unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref) |
|
246
|
17 |
43 |
if substr($$data_ref, $$offset_ref, 1) eq ']' |
|
248
|
0 |
43 |
unless $self->_parse_value($data_ref, $offset_ref, $line_ref, \my($val)) |
|
250
|
0 |
43 |
unless $self->_parse_delim(']', $data_ref, $offset_ref, $line_ref) |
|
267
|
0 |
17 |
if ($$self{'keep_order'}) |
|
272
|
0 |
47 |
unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref) |
|
277
|
17 |
30 |
if substr($$data_ref, $$offset_ref, 1) eq '}' |
|
279
|
0 |
30 |
unless $self->_parse_bareword_or_string($data_ref, $offset_ref, $line_ref, \my($key)) |
|
281
|
0 |
30 |
unless $self->_parse_colon_sign($data_ref, $offset_ref, $line_ref) |
|
283
|
0 |
30 |
unless $self->_parse_value($data_ref, $offset_ref, $line_ref, \my($val)) |
|
285
|
0 |
30 |
unless $self->_parse_delim('}', $data_ref, $offset_ref, $line_ref) |
|
300
|
0 |
30 |
unless $self->_parse_space_and_comments($data_ref, $offset_ref, $line_ref) |
|
305
|
0 |
30 |
unless (substr($$data_ref, $$offset_ref, 1) eq ':') |
|
332
|
10 |
56 |
if (defined $1) { } |
|
|
8 |
48 |
elsif (defined $2) { } |
|
|
7 |
41 |
elsif (defined $3) { } |
|
348
|
0 |
24 |
if ($$offset_ref == length $$data_ref) |
|
354
|
0 |
24 |
if ((my $c = substr($$data_ref, $$offset_ref, 1)) ne '"') |
|
355
|
0 |
0 |
if ($c eq '\\') { } |
|
381
|
2 |
8 |
unless open my $fh, '<:utf8', $path |
|
401
|
34 |
16 |
unless (defined $err_type) |
|
407
|
8 |
8 |
if ($$self{'autodie'}) |
|
424
|
0 |
28 |
if ($c eq "\n") { } |
|
|
0 |
28 |
elsif ($c eq "\t") { } |
|
|
0 |
28 |
elsif (ord $c < 32) { } |
|
436
|
28 |
0 |
if ($c =~ /\S/) |
|
437
|
0 |
28 |
if (++$non_space_chars > 5) |
|
451
|
0 |
56 |
if ($c eq "\n") { } |
|
|
0 |
56 |
elsif ($c eq "\t") { } |
|
|
0 |
56 |
elsif (ord $c < 32) { } |
|
463
|
56 |
0 |
if ($c =~ /\S/) |
|
464
|
14 |
42 |
if (++$non_space_chars > 3) |