| line |
true |
false |
branch |
|
42
|
2 |
9 |
exists $params{'record'} ? : |
|
43
|
7 |
4 |
exists $params{'features'} ? : |
|
49
|
7 |
4 |
if (defined $params{'file'}) |
|
61
|
9 |
0 |
if (@_) { } |
|
|
0 |
0 |
elsif ($$self{'filename'}) { } |
|
70
|
4 |
5 |
if (ref $file) { } |
|
71
|
0 |
4 |
unless ($file->isa('IO::Handle')) |
|
76
|
0 |
5 |
unless $fh = 'IO::File'->new($file) |
|
83
|
4 |
5 |
ref $file ? : |
|
84
|
0 |
9 |
unless $fh->close |
|
111
|
0 |
0 |
defined $here ? : |
|
|
0 |
0 |
defined $continuation ? : |
|
|
0 |
545 |
if $$self{'debug'} |
|
115
|
9 |
536 |
if $line =~ /^\s*#/ |
|
116
|
18 |
518 |
if $line =~ /^\s*$/ |
|
118
|
56 |
462 |
if ($here) { } |
|
|
12 |
450 |
elsif ($continuation) { } |
|
119
|
16 |
40 |
if ($line =~ /\s*$here\s*$/) { } |
|
120
|
0 |
16 |
if $$self{'debug'} |
|
124
|
0 |
40 |
if $$self{'debug'} |
|
128
|
12 |
0 |
if ($line =~ /^\s*"(.*?)"\s*(\\)?\s*$/ or $line =~ /^\s*(.*?)\s*(\\)?\s*$/) { } |
|
130
|
0 |
12 |
if $$self{'debug'} |
|
132
|
12 |
0 |
unless $2 |
|
137
|
42 |
408 |
if ($line =~ /^\s*$LABEL\s*=\s*\($TRAILING_WHITESPACE$/ or $$self{'features'}{'quotedkeys'} and $line =~ /^\s*"$QUOTED_LABEL"\s*=\s*\($TRAILING_WHITESPACE$/) { } |
|
|
8 |
400 |
elsif ($line =~ /^\s*\($TRAILING_WHITESPACE$/) { } |
|
|
50 |
350 |
elsif ($line =~ /^\s*\)$TRAILING_WHITESPACE$/) { } |
|
|
37 |
313 |
elsif ($line =~ /^\s*$LABEL\s*=\s*{$TRAILING_WHITESPACE$/ or $$self{'features'}{'quotedkeys'} and $line =~ /^\s*"$QUOTED_LABEL"\s*=\s*{$TRAILING_WHITESPACE$/) { } |
|
|
33 |
280 |
elsif ($line =~ /^\s*{$TRAILING_WHITESPACE$/) { } |
|
|
70 |
210 |
elsif ($line =~ /^\s*}$TRAILING_WHITESPACE$/) { } |
|
|
1 |
209 |
elsif ($$self{'features'}{'includes'} and $line =~ /^\s*$LABEL\s*=\s*\@include\((.+)\)$TRAILING_WHITESPACE$/ || $$self{'features'}{'quotedkeys'} && $line =~ /^\s*"$QUOTED_LABEL"\s*=\s*\@include\((.+)\)$TRAILING_WHITESPACE$/) { } |
|
|
8 |
201 |
elsif ($line =~ /^\s*$LABEL\s*=\s*<<(\w+)\s*$/ or $$self{'features'}{'quotedkeys'} and $line =~ /^\s*"$QUOTED_LABEL"\s*=\s*<<(\w+)\s*$/) { } |
|
|
130 |
71 |
elsif ($line =~ /^\s*$LABEL\s*=\s*"(.*)"\s*(\\)?$TRAILING_WHITESPACE$/ or $$self{'features'}{'quotedkeys'} and $line =~ /^\s*"$QUOTED_LABEL"\s*=\s*"(.*)"\s*(\\)?$TRAILING_WHITESPACE$/ or $line =~ /^\s*$LABEL\s*=\s*(.*?)(\\)?\s*$/ or $$self{'features'}{'quotedkeys'} and $line =~ /^\s*"$QUOTED_LABEL"\s*=\s*(.*?)(\\)?\s*$/) { } |
|
|
8 |
63 |
elsif ($line =~ /^\s*<<(\w+)\s*$/) { } |
|
|
2 |
61 |
elsif ($$self{'features'}{'includes'} and $line =~ /^\s*\@include\((.+)\)$TRAILING_WHITESPACE$/) { } |
|
|
61 |
0 |
elsif ($line =~ /^\s*"(.*)"\s*(\\)?$TRAILING_WHITESPACE$/ or $line =~ /^\s*(.*?)(\\)?\s*$/) { } |
|
140
|
0 |
42 |
if $$self{'debug'} |
|
141
|
0 |
42 |
if (ref $value eq 'ARRAY') |
|
147
|
28 |
14 |
if ($$self{'features'}{'quotedkeys'}) |
|
156
|
0 |
8 |
if $$self{'debug'} |
|
157
|
0 |
8 |
if (ref $value ne 'ARRAY') |
|
166
|
0 |
50 |
if $$self{'debug'} |
|
167
|
0 |
50 |
if (ref $value ne 'ARRAY') |
|
170
|
0 |
50 |
if ($#stack == 0) |
|
179
|
0 |
37 |
if $$self{'debug'} |
|
180
|
0 |
37 |
if (ref $value eq 'ARRAY') |
|
186
|
24 |
13 |
if ($$self{'features'}{'quotedkeys'}) |
|
195
|
0 |
33 |
if $$self{'debug'} |
|
196
|
0 |
33 |
if (ref $value ne 'ARRAY') |
|
205
|
0 |
70 |
if $$self{'debug'} |
|
206
|
0 |
70 |
if (ref $value eq 'ARRAY') |
|
209
|
0 |
70 |
if ($#stack == 0) |
|
219
|
0 |
1 |
if $$self{'debug'} |
|
223
|
0 |
1 |
if ($$self{'features'}{'quotedkeys'}) |
|
227
|
0 |
1 |
unless my $fh = 'IO::File'->new($file) |
|
232
|
0 |
1 |
ref $file ? : |
|
233
|
0 |
1 |
unless $fh->close |
|
240
|
0 |
8 |
if $$self{'debug'} |
|
244
|
4 |
4 |
if ($$self{'features'}{'quotedkeys'}) |
|
258
|
0 |
130 |
if $$self{'debug'} |
|
262
|
76 |
54 |
if ($$self{'features'}{'quotedkeys'}) |
|
266
|
0 |
130 |
if (ref $value eq 'ARRAY') |
|
271
|
0 |
130 |
if $3 and $$self{'debug'} |
|
272
|
6 |
124 |
if $3 |
|
274
|
0 |
8 |
if $$self{'debug'} |
|
277
|
0 |
8 |
if (ref $value ne 'ARRAY') |
|
287
|
0 |
2 |
if $$self{'debug'} |
|
290
|
0 |
2 |
unless my $fh = 'IO::File'->new($file) |
|
295
|
0 |
2 |
ref $file ? : |
|
296
|
0 |
2 |
unless $fh->close |
|
299
|
0 |
2 |
if (ref $value ne 'ARRAY') |
|
306
|
0 |
61 |
if $$self{'debug'} |
|
309
|
0 |
61 |
if (ref $value ne 'ARRAY') |
|
315
|
6 |
55 |
if $2 |
|
321
|
0 |
12 |
if ($#stack != 0) |
|
332
|
2 |
0 |
if (@_) { } |
|
|
0 |
0 |
elsif ($$self{'filename'}) { } |
|
341
|
0 |
2 |
if (ref $file) { } |
|
342
|
0 |
0 |
unless ($file->isa('IO::Handle')) |
|
347
|
0 |
2 |
unless $fh = 'IO::File'->new(">$file") |
|
368
|
29 |
50 |
if ($ref) { } |
|
369
|
17 |
12 |
if ($ref eq 'HASH') { } |
|
|
12 |
0 |
elsif ($ref eq 'ARRAY') { } |
|
417
|
4 |
46 |
if ($value =~ /\n/) { } |
|
|
5 |
41 |
elsif ($value =~ /^\s+/ or $value =~ /\s+$/) { } |
|
418
|
0 |
4 |
unless $value =~ /\n$/ |
|
436
|
33 |
19 |
if ($$self{'features'}{'quotedkeys'}) { } |
|
437
|
23 |
10 |
if ($key =~ /^((?:\w|-|\.)+)$/) { } |
|
456
|
4 |
2 |
if (not ref $value or ref $value ne 'HASH') |
|
472
|
0 |
124 |
if $$self{'debug'} |
|
474
|
126 |
249 |
if m[^/$] |
|
475
|
0 |
249 |
if $$self{'debug'} |
|
482
|
123 |
124 |
defined $context ? : |
|
484
|
49 |
198 |
if ($fragment =~ /^\[(\d+)\]$/) { } |
|
|
105 |
93 |
elsif ($$self{'features'}{'quotedkeys'}) { } |
|
486
|
2 |
47 |
if (ref $entry ne 'ARRAY') |
|
487
|
0 |
2 |
if (@_) |
|
492
|
2 |
45 |
if ($#{$entry;} < $index) |
|
493
|
0 |
2 |
if (@_) |
|
501
|
0 |
105 |
if $$self{'debug'} |
|
502
|
0 |
105 |
if (ref $entry ne 'HASH') |
|
503
|
0 |
0 |
if (@_) |
|
508
|
4 |
101 |
unless (exists $$entry{$fragment}) |
|
509
|
4 |
0 |
if (@_) |
|
516
|
0 |
93 |
if $$self{'debug'} |
|
517
|
93 |
0 |
if ($fragment =~ /((?:\w|-|\.)+)/) { } |
|
518
|
0 |
93 |
if (ref $entry ne 'HASH') |
|
519
|
0 |
0 |
if (@_) |
|
524
|
4 |
89 |
unless (exists $$entry{$fragment}) |
|
525
|
4 |
0 |
if (@_) |
|
547
|
0 |
6 |
if $$self{'debug'} |
|
549
|
2 |
8 |
if m[^/$] |
|
550
|
0 |
8 |
if $$self{'debug'} |
|
558
|
2 |
6 |
defined $context ? : |
|
560
|
2 |
6 |
if ($fragment =~ /^\[(\d+)\]$/) { } |
|
|
3 |
3 |
elsif ($$self{'features'}{'quotedkeys'}) { } |
|
562
|
0 |
2 |
if (ref $entry ne 'ARRAY') |
|
565
|
0 |
2 |
if (@key) { } |
|
566
|
0 |
0 |
if (exists $$entry[$index]) { } |
|
569
|
0 |
0 |
if ($key[0] =~ /^\[(\d+)\]$/) { } |
|
581
|
0 |
3 |
if $$self{'debug'} |
|
582
|
0 |
3 |
if (ref $entry ne 'HASH') |
|
585
|
1 |
2 |
if (@key) { } |
|
586
|
1 |
0 |
if (exists $$entry{$fragment}) { } |
|
589
|
0 |
0 |
if ($key[0] =~ /^\[(\d+)\]$/) { } |
|
600
|
0 |
3 |
if $$self{'debug'} |
|
601
|
3 |
0 |
if ($fragment =~ /((?:\w|-|\.)+)/) { } |
|
602
|
0 |
3 |
if (ref $entry ne 'HASH') |
|
605
|
1 |
2 |
if (@key) { } |
|
606
|
1 |
0 |
if (exists $$entry{$fragment}) { } |
|
609
|
0 |
0 |
if ($key[0] =~ /^\[(\d+)\]$/) { } |