Branch Coverage

blib/lib/Datafile/Hash.pm
Criterion Covered Total %
branch 59 112 52.6


line true false branch
12 36 0 if defined $_[0] and $_[1]
26 3 0 $delim eq '=' || $delim eq ':' ? :
29 0 3 if ($verbose)
36 0 0 if (defined $search and ref $search || length $search)
37 0 0 ref $search eq 'ARRAY' ? :
39 0 0 unless defined $pat
40 0 0 ref $pat eq 'Regexp' ? :
45 0 3 unless ref $data eq "HASH"
48 0 3 unless open my $fh, "<:encoding(UTF-8)", $filename
58 5 25 if $line =~ /^\s*\Q$comment_char\E/u
59 0 25 if ($skip_headers > 0)
64 4 21 if $skip_empty and $line eq ""
66 0 21 if (@compiled_patterns)
69 0 0 unless $line =~ /$regex/u
70 0 0 unless $all_matched
72 0 0 unless $all_matched
75 6 15 if ($line =~ /^\[\s*(.+?)\s*\]$/u)
81 1 6 $path ? :
84 0 6 if $verbose
88 15 0 if ($ini_mode) { }
90 0 0 if @fields < $key_fields + 1
97 0 15 if ($key_fields > 1)
103 0 15 if @fields < 2
108 15 0 if ($delim eq "=")
113 12 3 if $group_mode == 2
121 1 2 if ($ini_mode and $group_mode != 2)
127 0 3 $group_mode == 1 && $prefix ne '' ? :
129 0 3 if (ref $v eq 'HASH') { }
133 3 0 $group_mode == 0 ? :
140 0 3 if ($verbose and $ini_mode)
143 0 3 if $verbose
158 3 0 $delim eq '=' || $delim eq ':' ? :
160 0 3 unless ($hash and ref $hash eq "HASH" and keys %$hash)
161 0 0 if (-f $filename)
162 0 0 unless unlink $filename
173 0 3 if ($verbose)
179 0 3 unless open my $fh, ">:encoding(UTF-8):crlf", $tmp
182 2 1 if (my $comment = $opts->{'comment'})
183 0 2 ref $comment eq 'ARRAY' ? :
185 0 2 if ($verbose)
190 3 0 if ($ini_mode) { }
202 0 3 if (not $has_real_nested and grep /\./u, keys %data)
216 5 3 if ref $data{$k} eq "HASH"
222 6 1 @$path ? :
224 4 3 unless $first_section
226 6 1 if ($name ne "")
228 0 6 if $verbose
233 10 5 if length $k > $maxsize
239 1 14 if ($delim eq "=" and $needs_quoting)
253 1 2 if (keys %global_data)
260 3 0 if $comment_char eq "#"
261 0 3 unless close $fh
264 0 3 if ($backup and -f $filename)
265 0 0 unless rename $filename, $filename . '.bak'
269 0 3 unless rename $tmp, $filename
273 0 3 if $verbose