Branch Coverage

blib/lib/Data/Nested.pm
Criterion Covered Total %
branch 688 922 74.6


line true false branch
134 37715 1 unless (defined $delim)
147 6386 34947 if ($array) { }
148 286 6100 if ref $path
149 8 6092 unless $path
150 5121 971 if exists $path{$path}
154 967 4 if not defined $tmp[0] or $tmp[0] eq ''
160 20 34927 unless (ref $path)
161 0 20 unless $path
177 0 5 if ($name eq 'keep' or $name eq 'replace' or $name eq 'default' or $name eq 'override')
187 1 4 unless ($name =~ /^[a-zA-Z0-9]+$/)
194 1 3 if (exists $$self{'ruleset'}{$name})
208 81 5 if exists $$self{'ruleset'}{$name}
227 140 5246 if (not defined $nds) { }
4174 1072 elsif (ref $nds) { }
424 648 elsif (exists $$self{'nds'}{$nds}) { }
231 728 3446 if ($$self{'structure'} and not $nocheck)
233 0 728 if $self->err
235 0 4174 if ($copy) { }
242 0 424 if ($copy) { }
264 4 28 if (not defined $nds or $nds eq '_copy')
265 4 0 if (exists $$self{'nds'}{$name}) { }
266 1 3 if (defined $nds and $nds eq '_copy') { }
280 2 26 if ($nds eq '_delete')
281 1 1 if exists $$self{'nds'}{$name}
290 2 24 if ($nds eq '_exists')
291 1 1 if exists $$self{'nds'}{$name}
300 1 23 if (exists $$self{'nds'}{$name})
306 19 4 if (ref $nds) { }
3 1 elsif (exists $$self{'nds'}{$nds}) { }
308 0 19 if $self->err
327 159 3155 unless defined $nds
330 647 2508 if $self->err
338 1110 6416 if (not defined $nds) { }
1649 4767 elsif (ref $nds eq 'ARRAY') { }
1838 2929 elsif (ref $nds eq 'HASH') { }
399 2530 elsif ($nds eq '') { }
343 1239 561 unless _empty($self, $ele)
349 1398 1286 unless _empty($self, $$nds{$key})
354 27 372 if $$self{'blank'}
372 336 34230 unless defined $info and $info
374 32205 2361 if (exists $$self{'cache'}{'get_structure'}{$path} and exists $$self{'cache'}{'get_structure'}{$path}{$info})
385 74 2287 unless (exists $$self{'struct'}{$p})
395 280 2929 if (exists $$self{'struct'}{$p1}) { }
2309 620 elsif (exists $$self{'struct'}{$p2}) { }
402 3 617 if $info eq 'valid'
411 95 1572 if ($info eq 'valid')
416 1116 456 if (exists $$self{'struct'}{$p}{$info})
418 365 0 if $info eq 'type' and $val =~ /^(hash|list|scalar|other)$/ or $info eq 'uniform' or $info eq 'ordered'
425 1 455 unless (exists $$self{'struct'}{$p}{'type'})
434 137 318 if ($info eq 'ordered') { }
314 4 elsif ($info eq 'uniform') { }
0 4 elsif ($info eq 'merge') { }
3 1 elsif ($info eq 'keys') { }
435 45 92 if ($type ne 'list')
444 203 111 if ($type eq 'hash') { }
110 1 elsif ($type eq 'list') { }
448 31 79 if ($ordered) { }
462 0 0 if ($type eq 'list') { }
0 0 elsif ($type eq 'hash') { }
464 0 0 if ($ordered) { }
478 1 2 if ($type ne 'hash')
484 1 1 if (exists $$self{'struct'}{$p}{'uniform'} and $$self{'struct'}{$p}{'uniform'})
495 12 8 if $#pp != $#p + 1
498 6 2 if $tmp ne $p
521 223 4 if ($path) { }
567 1618 1238 if (@path)
572 0 1618 if $self->err
581 1618 1238 unless $item
587 818 420 unless exists $$self{'struct'}{$path}{'type'}
602 822 416 if ($item eq 'type')
604 1 213 if ($val ne 'scalar' and $val ne 'list' and $val ne 'hash' and $val ne 'other')
612 1 820 if ($type ne 'unknown' and $type ne 'list/hash')
618 1 1 if ($type eq 'list/hash' and $val ne 'list' and $val ne 'hash')
629 77 1158 if ($item eq 'ordered')
631 2 75 if (exists $$self{'struct'}{$path}{'ordered'})
638 0 75 if ($type eq 'unknown' or $type eq 'list/hash')
641 0 0 if $self->err
644 1 74 if ($type ne 'list')
650 1 73 if ($val ne '0' and $val ne '1')
658 71 2 if (not exists $$self{'struct'}{$path}{'uniform'}) { }
0 2 elsif ($$self{'struct'}{$path}{'uniform'}) { }
659 35 36 if ($val) { }
672 2 0 if ($val) { }
689 338 893 if ($item eq 'uniform')
691 2 336 if (exists $$self{'struct'}{$path}{'uniform'})
698 0 336 if ($type eq 'unknown')
700 0 0 if $self->err
702 1 206 if ($type ne 'list' and $type ne 'hash' and $type ne 'list/hash')
710 1 334 if ($val ne '0' and $val ne '1')
718 128 206 if (exists $$self{'struct'}{$path}{'type'} and $$self{'struct'}{$path}{'type'} eq 'list')
720 59 69 if (not exists $$self{'struct'}{$path}{'ordered'}) { }
33 36 elsif ($$self{'struct'}{$path}{'ordered'}) { }
721 57 2 if ($val) { }
734 36 0 if ($val) { }
752 1 1226 unless ($valid)
764 1056 170 if (@path)
766 1046 10 if (exists $$self{'struct'}{$parent}{'type'}) { }
769 0 1046 if ($parent_type eq 'unknown')
771 0 0 if $self->err
774 1 1045 if ($parent_type eq 'scalar' or $parent_type eq 'other') { }
4 1041 elsif ($parent_type eq 'list' and $curr_ele =~ /^\d+$/) { }
131 910 elsif ($parent_type eq 'list' and $curr_ele eq '*') { }
1 909 elsif ($parent_type eq 'list') { }
5 904 elsif ($parent_type eq 'hash' || $parent_type eq 'list/hash' and $curr_ele eq '*') { }
904 0 elsif ($parent_type eq 'hash' or $parent_type eq 'list/hash') { }
783 4 0 if (exists $$self{'struct'}{$parent}{'uniform'}) { }
784 1 3 if ($$self{'struct'}{$parent}{'uniform'})
795 0 0 if $self->err
800 45 86 if (exists $$self{'struct'}{$parent}{'uniform'}) { }
801 1 44 unless ($$self{'struct'}{$parent}{'uniform'})
812 0 86 if $self->err
823 5 0 if (exists $$self{'struct'}{$parent}{'uniform'}) { }
824 1 4 unless ($$self{'struct'}{$parent}{'uniform'})
835 0 0 if $self->err
839 706 198 if (exists $$self{'struct'}{$parent}{'uniform'}) { }
840 1 705 if ($$self{'struct'}{$parent}{'uniform'})
851 0 198 if $self->err
858 0 10 if ($curr_ele eq '*' or $curr_ele =~ /^\d+$/) { }
861 0 0 if $self->err
864 1 9 if $self->err
874 2 1217 if ($set_ordered)
876 0 2 if $self->err
878 36 1183 if ($set_uniform)
880 0 36 if $self->err
906 1 3 unless (exists $def{$item})
915 3 0 unless (exists $tmp{$val})
929 0 93 unless exists $$self{$d}
947 8 588 unless ref $nds
948 0 588 unless $$self{'structure'}
950 207 381 unless $new
965 1534 24780 unless defined $nds
973 24096 684 if ($type)
975 15983 8113 unless $ref
976 3544 20552 if $ref eq 'array'
978 24084 12 if ($type eq 'hash' or $type eq 'list' or $type eq 'scalar') { }
0 12 elsif ($type eq 'list/hash') { }
12 0 elsif ($type eq 'other') { }
0 0 elsif ($type eq 'unknown') { }
979 8 24076 if ($ref ne $type)
986 0 0 if ($ref ne 'list' and $ref ne 'hash')
994 0 12 if ($ref eq 'scalar' or $ref eq 'hash' or $ref eq 'list')
1010 684 24088 unless ($type)
1016 683 1 if ($new) { }
1018 57 626 if $type eq 'array'
1019 451 232 if (not $type) { }
231 1 elsif ($type eq 'hash' or $type eq 'list') { }
1035 16444 8327 unless $type eq 'list' or $type eq 'hash'
1040 4730 3597 if ($type eq 'hash')
1043 0 13653 if ($uniform) { }
1045 0 0 if $self->err
1048 8 13645 if $self->err
1058 11321 0 if ($uniform) { }
1060 1 11320 if $self->err
1063 0 0 if $self->err
1076 515 1223 unless $nocheck
1080 1 1737 if $self->err
1086 303 1434 if $self->err
1088 0 1434 if ($copy and ref $val) { }
1102 1434 1838 unless (@path)
1111 147 1691 $path ? :
1118 149 1689 if (not defined $nds) { }
1 1688 elsif (not ref $nds) { }
1 3357 elsif (ref $nds ne 'HASH' and ref $nds ne 'ARRAY') { }
1143 1670 17 if (ref $nds eq 'HASH')
1144 1526 144 if (exists $$nds{$p}) { }
1157 1 16 if (not $p =~ /^\d+$/) { }
7 9 elsif ($#$nds < $p) { }
1181 10 108 if $self->err
1183 1 107 if (not ref $val) { }
57 50 elsif (ref $val eq 'ARRAY') { }
50 0 elsif (ref $val eq 'HASH') { }
1189 152 37 unless _empty($self, $$val[$i])
1196 95 0 unless _empty($self, $$val{$key})
1211 10 89 if $self->err
1213 1 88 if (not ref $val) { }
51 37 elsif (ref $val eq 'ARRAY') { }
37 0 elsif (ref $val eq 'HASH') { }
1219 140 37 unless _empty($self, $$val[$i])
1226 73 0 unless _empty($self, $$val{$key})
1244 9 89 if (_merge_default($self, $item)) { }
89 0 elsif ($item eq 'merge') { }
1262 88 1 unless $ruleset
1267 1 88 if (exists $$self{'ruleset'}{$ruleset}{'path'}{$path})
1277 66 22 if ($type eq 'list') { }
19 3 elsif ($type eq 'hash') { }
2 1 elsif ($type eq 'scalar' or $type eq 'other') { }
1280 4 62 unless (_merge_allowed($type, $ordered, $method))
1281 2 2 if ($ordered) { }
1295 1 18 unless (_merge_allowed($type, 0, $method))
1302 1 1 unless (_merge_allowed($type, 0, $method))
1357 9 89 if exists $def{$item}
1363 9 0 unless $ruleset
1369 4 5 unless (exists $tmp{$val})
1416 19 68 if ($type eq 'hash') { }
66 2 elsif ($type eq 'list') { }
1419 33 33 if ($ordered) { }
1431 6 81 unless exists $tmp{$val}
1444 2 317 unless $ruleset
1450 77 242 if exists $$self{'ruleset'}{$ruleset}{'path'}{$path}
1455 0 242 if ($type eq 'list')
1459 151 91 if ($type eq 'hash') { }
0 91 elsif ($type eq 'list' and $ordered) { }
0 91 elsif ($type eq 'list') { }
91 0 elsif ($type eq 'scalar' or $type eq 'other') { }
1460 151 0 if exists $$self{'ruleset'}{$ruleset}{'def'}{'merge_hash'}
1464 0 0 if exists $$self{'ruleset'}{$ruleset}{'def'}{'merge_ol'}
1468 0 0 if exists $$self{'ruleset'}{$ruleset}{'def'}{'merge_ul'}
1472 90 1 if exists $$self{'ruleset'}{$ruleset}{'def'}{'merge_scalar'}
1483 0 1 if exists $$self{'ruleset'}{$ruleset}{'path'}{$path}
1486 0 1 if ($type eq 'hash') { }
0 1 elsif ($type eq 'list' and $ordered) { }
0 1 elsif ($type eq 'list') { }
1 0 elsif ($type eq 'scalar' or $type eq 'other') { }
1509 0 102 unless defined $nds2
1516 0 102 if (not @args) { }
102 0 elsif ($#args == 0) { }
0 0 elsif ($#args == 1) { }
1521 4 98 if ($args[0] eq '0' or $args[0] eq '1') { }
1542 0 102 unless (defined $nds1)
1549 0 102 unless (defined $nds2)
1560 0 102 if ($$self{'err'})
1566 0 102 if ($$self{'err'})
1577 102 0 if (ref $nds1 eq 'HASH') { }
0 0 elsif (ref $nds1 eq 'ARRAY') { }
1598 0 315 if $self->empty($nds2)
1599 0 315 if ($self->empty($nds1) or not ref $nds1 and $nds1 eq '')
1614 114 201 if ($method eq 'keep' or $method eq 'keep_warn') { }
29 172 elsif ($method eq 'replace' or $method eq 'replace_warn') { }
0 172 elsif ($method eq 'error') { }
1615 0 114 if $method eq 'keep_warn'
1620 0 29 if $method eq 'replace_warn'
1622 29 0 if (ref $nds2)
1628 0 0 if (ref $nds1) { }
0 0 elsif ($nds1 eq $nds2) { }
1645 20 152 if (ref $nds1 eq 'ARRAY')
1653 152 0 if (ref $nds1 eq 'HASH')
1670 0 282 if $self->empty($$val2{$key})
1672 103 179 if (not exists $$val1{$key} or $self->empty($$val1{$key}) or not ref $$val1{$key} and $$val1{$key} eq '') { }
1693 10 10 if ($method eq 'append')
1709 5 25 if ($self->empty($$val2[$i])) { }
10 15 elsif ($self->empty($$val1[$i]) or not ref $$val1[$i] and $$val1[$i] eq '') { }
1737 2 19 unless @path
1744 0 19 if (not @args) { }
15 4 elsif ($#args == 0) { }
4 0 elsif ($#args == 1) { }
1749 15 0 if ($args[0] eq '0' or $args[0] eq '1') { }
1770 0 19 unless (defined $nds)
1781 0 19 if ($self->err)
1788 0 19 if ($self->err)
1805 19 0 if (ref $nds eq 'HASH') { }
0 0 elsif (ref $nds eq 'ARRAY') { }
1822 19 0 unless @path
1827 0 0 if (ref $nds eq 'HASH') { }
1828 0 0 if (exists $$nds{$ele})
1833 0 0 if (defined $$nds[$ele])
1842 0 0 if ($type eq 'hash') { }
1848 0 0 if (ref $nds eq 'HASH') { }
1875 0 10 if $self->err
1882 4 6 unless (@path)
1883 2 2 if (ref $nds eq 'HASH') { }
2 0 elsif (ref $nds eq 'ARRAY') { }
1897 0 6 if $self->err
1903 4 2 if (ref $nds eq 'HASH') { }
1904 4 0 if (exists $$nds{$ele}) { }
1912 1 1 if ($ordered) { }
1913 1 0 if (defined $$nds[$ele]) { }
1919 1 0 if (defined $$nds[$ele]) { }
1941 1 2 if (not @crit) { }
1948 1 2 if (ref $crit eq 'Regexp') { }
1971 6 18 if (ref $nds eq 'HASH') { }
3 15 elsif (ref $nds eq 'ARRAY') { }
1985 5 10 if (CORE::keys %$vals)
1987 2 3 if (exists $$vals{$nds})
1993 5 8 if (@$re)
1996 2 3 if ($nds =~ /$re/)
2003 6 5 if $crit
2006 5 0 if defined $nds
2019 0 16 unless @args
2025 16 15 if ($arg eq 'scalar' or $arg eq 'list' or $arg eq 'hash') { }
7 8 elsif ($arg eq 'uniform' or $arg eq 'nonuniform') { }
7 1 elsif ($arg eq 'ordered' or $arg eq 'unordered') { }
2028 1 15 if (exists $tmp{'scalar'} or exists $tmp{'list'} or exists $tmp{'hash'})
2038 0 7 if (exists $tmp{'uniform'} or exists $tmp{'nonuniform'})
2047 0 7 if (exists $tmp{'ordered'} or exists $tmp{'unordered'})
2062 1 1 if (exists $tmp{'scalar'} and exists $tmp{'uniform'} || exists $tmp{'nonuniform'} || exists $tmp{'ordered'} || exists $tmp{'unordered'})
2073 1 3 if (exists $tmp{'hash'} and exists $tmp{'ordered'} || exists $tmp{'unordered'})
2082 0 8 if (exists $tmp{'list'} and exists $tmp{'unordered'} and exists $tmp{'nonuniform'})
2097 1 11 if (exists $tmp{'scalar'}) { }
8 3 elsif (exists $tmp{'list'}) { }
3 0 elsif (exists $tmp{'hash'}) { }
2104 12 0 if ($type)
2107 51 165 if $$self{'struct'}{$path}{'type'} eq $type
2113 3 9 if (exists $tmp{'ordered'}) { }
2 7 elsif (exists $tmp{'unordered'}) { }
2118 5 7 if ($ordered ne '')
2121 8 7 if exists $$self{'struct'}{$path}{'ordered'} and $$self{'struct'}{$path}{'ordered'} == $ordered
2128 4 8 if (exists $tmp{'uniform'}) { }
3 5 elsif (exists $tmp{'nonuniform'}) { }
2133 7 5 if ($uniform ne '')
2136 12 11 if exists $$self{'struct'}{$path}{'uniform'} and $$self{'struct'}{$path}{'uniform'} == $uniform
2153 16 1165 unless @cond
2164 208 957 if ($self->err)
2170 356 809 if (not defined $v) { }
79 730 elsif (ref $v eq 'HASH') { }
348 382 elsif (ref $v eq 'ARRAY') { }
2175 152 204 if ($valid) { }
2176 76 76 unless $pass
2178 113 35 unless _test_list_condition($self, $v, $cond) or _test_scalar_condition($self, $v, $cond)
2184 78 1 if ($valid) { }
2185 39 39 unless $pass
2194 174 174 unless _test_list_condition($self, $v, $cond)
2197 198 184 unless _test_scalar_condition($self, $v, $cond)
2216 205 60 unless ($cond =~ /^\!?empty(:.+)?$/i or $cond =~ /^\!?exists:.+$/i)
2227 152 78 unless (defined $nds)
2228 76 76 if $cond =~ /^empty/i or $cond =~ /^\!exists/i
2235 0 78 if (ref $nds ne 'HASH')
2241 56 22 if ($cond =~ /^(\!?)(exists|empty):(.+)$/)
2245 28 28 if (lc $op eq 'exists')
2246 14 14 if $exists and not $not or not $exists and $not
2252 26 2 if $exists
2254 14 14 if $empty and not $not or not $empty and $not
2267 10 12 if ($self->empty($nds)) { }
2268 5 5 if $cond eq 'empty'
2269 5 0 if $cond eq '!empty'
2271 6 6 if $cond eq 'empty'
2272 6 0 if $cond eq '!empty'
2307 204 348 unless (defined $nds)
2308 8 148 if $cond =~ /^empty(:.+)?$/i or $cond =~ /^\!defined:(.+)$/i or $cond =~ /^\!contains:(.+)$/i or $cond eq '=:0' or $cond =~ /^\!=:(\d*[1-9]\d*)$/ or $cond =~ /^<:(\d+)$/ or $cond =~ /^<=:(\d+)$/ or $cond eq '>=:0'
2321 0 348 if (ref $nds ne 'ARRAY')
2327 112 236 if ($cond =~ /^(\!?)(defined|empty):(\d+)$/i)
2331 72 40 if (lc $op eq 'defined')
2332 36 36 if $def and not $not or not $def and $not
2338 26 14 if $def
2340 20 20 if $empty and not $not or not $empty and $not
2347 126 110 if ($cond =~ /^(\!?)(<=|<|=|>=|>):(\d+)$/)
2351 190 34 unless $self->empty([$v])
2354 38 88 if ($op eq '<') { }
38 50 elsif ($op eq '<=') { }
36 14 elsif ($op eq '=') { }
8 6 elsif ($op eq '>=') { }
2355 19 19 if $n < $val and not $not or $n >= $val and $not
2360 19 19 if $n <= $val and not $not or $n > $val and $not
2365 18 18 if $n == $val and not $not or $n != $val and $not
2370 4 4 if $n >= $val and not $not or $n < $val and $not
2375 3 3 if $n > $val and not $not or $n <= $val and $not
2383 68 42 if ($cond =~ /^(\!?)contains:(.*)$/i)
2385 0 68 unless defined $val
2387 24 118 unless defined $v
2388 26 92 if ($v eq $val)
2389 13 13 unless $not
2390 13 0 if $not
2393 21 21 unless $not
2405 12 30 if ($self->empty([$nds])) { }
2406 6 6 if $c eq 'empty'
2407 6 0 if $c eq '!empty'
2409 13 17 if $c eq 'empty'
2410 13 4 if $c eq '!empty'
2416 2 2 if $cond =~ s/^\!//
2419 0 6 unless defined $v
2420 2 4 if ($v eq $cond)
2421 1 1 unless $not
2422 1 0 if $not
2425 1 1 unless $not
2455 148 382 unless (defined $nds)
2456 24 113 if $cond =~ /^!defined$/i or $cond =~ /^empty$/i or $cond =~ /^\!zero$/i or $cond =~ /^\!true$/i or $cond =~ /^\!=:/ or $cond =~ /^\!member/i
2467 0 382 if (ref $nds)
2476 19 363 if $c eq 'defined'
2477 19 344 if $c eq '!defined'
2486 38 306 if ($self->empty([$nds])) { }
2487 5 33 if $c eq 'empty'
2488 5 28 if $c eq '!empty'
2490 14 292 if $c eq 'empty'
2491 14 278 if $c eq '!empty'
2494 0 306 unless defined $nds
2498 3 303 if ($c eq 'zero') { }
3 300 elsif ($c eq '!zero') { }
3 297 elsif ($c eq 'true') { }
3 294 elsif ($c eq '!true') { }
2499 2 1 if $nds eq '' or $nds == 0
2502 2 1 if $nds eq '' or $nds == 0
2505 1 2 if $nds
2508 1 2 if $nds
2514 38 256 if ($cond =~ /^(\!?)=:(.*)/)
2516 0 38 unless defined $val
2517 19 19 if $nds eq $val and not $not or $nds ne $val and $not
2524 72 184 if ($cond =~ /^(\!?)member(.)(.+)$/)
2526 116 0 defined $_ ? :
2527 36 36 if exists $tmp{$nds} and not $not or not exists $tmp{$nds} and $not
2534 3 181 if ($cond =~ s/^\!//)
2535 2 1 if $nds eq $cond
2539 84 97 if $nds eq $cond
2553 0 10 if $self->err
2569 0 10 if $self->err
2587 0 20 if (not @args) { }
20 0 elsif ($#args == 0) { }
0 0 elsif ($#args == 1) { }
2591 0 20 if ($args[0] eq '0' or $args[0] eq '1') { }
2610 0 20 if ($self->err)
2616 0 20 if ($self->err)
2654 20 0 if ($path ne '/')
2677 0 187 if ($Data::Nested::_DBG)
2712 71 116 if ($identical) { }
2713 4 67 if $#d1 != $#d2 or $#u1 != $#u2
2716 1 115 if $#d1 < $#d2 or $#u1 < $#u2
2727 77 115 if (exists $$desc1{$mpath} and $$desc1{$mpath}{'val'} eq $$desc2{$mpath}{'val'}) { }
2739 0 67 if $identical and @d1
2745 15 52 if ($#u2 == -1)
2746 0 15 if $identical and $#u1 > -1
2762 0 52 if ($Data::Nested::_DBG)
2789 34 58 unless @mpath2
2800 29 29 if ($mele =~ /^_ul_/) { }
2816 0 29 if $max2 > $max1
2817 0 29 if $identical and $max1 != $max2
2846 20 118 if _ic_compare($self, $d1, $d2, $identical, $delim)
2866 9 20 unless _ic_compare($self, \%desc1, \%desc2, $identical, $delim)
2873 0 34 if @mpath1 and $identical
2908 46 278 if (ref $nds eq 'HASH') { }
60 218 elsif (ref $nds eq 'ARRAY') { }
218 0 elsif (not $self->empty($nds)) { }
2917 0 60 if ($ordered) { }
2949 590 1004 if ($$desc{$mpath}{'ul'})
2967 512 71 if ($isul and $$ul{$mpath}{'meles'}[0] =~ /^_ul_/ or not $isul and $$ul{$mpath}{'meles'}[0] eq $mele)
2996 398 2240 if ($mele =~ /^_ul_/) { }
2997 304 94 if ($tmp)
3003 1254 986 if ($tmp) { }
3010 682 206 if ($tmp)
3094 0 0 if (exists $opts{'indent'}) { }
3096 0 0 if (not $opt =~ /^\d+$/ or $opt < 1)
3105 0 0 if (exists $opts{'width'}) { }
3107 0 0 if (not $opt =~ /^\d+$/ or $opt > 0 and $opt < 20)
3116 0 0 $opts{'width'} == 0 ? :
3118 0 0 if (exists $opts{'maxlevel'}) { }
3120 0 0 if ($maxlevel != 0 and $opt > $maxlevel)
3137 0 0 $opts{'width'} == 0 ? :
3139 0 0 if (ref $nds eq 'HASH') { }
0 0 elsif (ref $nds eq 'ARRAY') { }
3155 0 0 if ($currwidth and $maxl + 1 > $currwidth) { }
3160 0 0 if ($currwidth == 0) { }
3164 0 0 if $vall < 0
3171 0 0 unless defined $val
3172 0 0 if not ref $val and $val eq ''
3174 0 0 if (length $k > $keyl) { }
0 0 elsif (length $k < $keyl) { }
3181 0 0 if (not ref $val and $vall == -1 || length $val <= $vall) { }
0 0 elsif (ref $val and $opts{'maxlevel'} == $level and $vall == -1 || $vall > 3) { }
3208 0 0 if ($maxl + 1 > $currwidth) { }
3213 0 0 if ($currwidth == 0) { }
3217 0 0 if $vall < 0
3224 0 0 unless defined $val
3225 0 0 if not ref $val and $val eq ''
3227 0 0 if (length $k > $keyl) { }
0 0 elsif (length $k < $keyl) { }
3234 0 0 if (not ref $val and $vall == -1 || length $val <= $vall) { }
0 0 elsif (ref $val and $opts{'maxlevel'} == $level and $vall == -1 || $vall > 3) { }
3249 0 0 unless defined $nds
3250 0 0 if not ref $nds and $nds eq ''
3252 0 0 if (length $nds > $currwidth)
3275 20 0 unless $Data::Nested::_DBG
3290 20 0 unless $Data::Nested::_DBG
3299 259 0 unless $Data::Nested::_DBG
3309 259 0 unless $Data::Nested::_DBG