| line | % | coverage | branch |
| 322 | 100 | T | F | if (scalar @_ == 1) { } |
| 331 | 100 | T | F | if (not defined $$params{"config_dirs"} and $$params{"file"}) |
| 335 | 100 | T | F | unless (defined $$params{"config_dirs"}) |
| 336 | 100 | T | F | if ($$params{'config_file'} and 'File::Spec'->file_name_is_absolute($$params{'config_file'})) { } |
| 340 | 50 | T | F | if ($^O ne 'MSWin32') { } |
| 345 | 50 | T | F | if ($ENV{'HOME'}) { } |
| 0 | T | F | elsif ($ENV{'DOCUMENT_ROOT'}) { } |
| 356 | 50 | T | F | if (my $dir = $ENV{'CONFIG_DIR'}) { } |
| 366 | 50 | T | F | $$params{'defaults'} ? : |
| 371 | 50 | T | F | if (my $logger = $$self{"logger"}) |
| 372 | 0 | T | F | unless (&Scalar::Util::blessed($logger)) |
| 375 | 0 | T | F | if ($$params{"level"} and $$self{"logger"}->can("level")) |
| 382 | 100 | T | F | if (my $schema = $$params{"schema"}) |
| 386 | 100 | T | F | if (defined $$self{"config"} and scalar keys %{$$self{"config"};}) |
| 394 | 50 | T | F | unless (UNIVERSAL::isa((&CORE::GLOBAL::caller())[0], __PACKAGE__)) |
| 401 | 100 | T | F | if ($$self{"data"}) |
| 407 | 50 | T | F | if ($logger) |
| 412 | 50 | T | F | if ($$self{"config_file"} and scalar @dirs > 1) |
| 413 | 0 | T | F | if ('File::Spec'->file_name_is_absolute($$self{'config_file'})) { } |
| 422 | 50 | T | F | unless defined $dir |
| 423 | 100 | T | F | if (length $dir and not -d $dir) |
| 429 | 50 | T | F | if ($logger) |
| 432 | 100 | T | F | unless -f $path |
| 433 | 50 | T | F | unless -r $path |
| 435 | 50 | T | F | if ($logger) |
| 441 | 100 | T | F | if ($file =~ /\.ya?ml$/) { } |
| 100 | T | F | elsif ($file =~ /\.json$/) { } |
| 100 | T | F | elsif ($file =~ /\.xml$/) { } |
| 50 | T | F | elsif ($file =~ /\.ini$/) { } |
| 444 | 50 | T | F | if $@ |
| 447 | 50 | T | F | if $@ |
| 450 | 50 | T | F | if ($self->_load_driver("XML::Simple", ["XMLin"])) |
| 452 | 0 | T | F | if ($@) { } |
| 0 | T | F | elsif ($rc) { } |
| 453 | 0 | T | F | if ($logger) { } |
| 463 | 50 | T | F | if (not defined $rc and $self->_load_driver("XML::PP")) |
| 466 | 50 | T | F | if (my $tree = $xml_pp->parse(\$data)) |
| 467 | 50 | T | F | if ($data = $xml_pp->collapse_structure($tree)) |
| 469 | 50 | T | F | if ($$data{"config"}) |
| 477 | 50 | T | F | if (my $ini = 'Config::IniFiles'->new('-file', $path)) { } |
| 483 | 0 | T | F | if ($logger) { } |
| 490 | 50 | T | F | if ($data) |
| 491 | 50 | T | F | unless (ref $data) |
| 492 | 0 | T | F | if ($logger) |
| 497 | 50 | T | F | if (ref $data ne "HASH") |
| 498 | 0 | T | F | if ($logger) |
| 503 | 50 | T | F | if ($logger) |
| 512 | 100 | T | F | unless ($$self{"script_name"}) |
| 513 | 50 | T | F | unless "File::Basename"->can("basename") |
| 521 | 100 | T | F | unless defined $config_file |
| 524 | 100 | T | F | if $config_file eq $script_name and length $dir == 0 || $dir eq 'File::Spec'->curdir |
| 525 | 100 | T | F | length $dir ? : |
| 526 | 50 | T | F | if ($logger) |
| 529 | 100 | T | F | if (-f $path and -r $path) |
| 531 | 50 | T | F | if ($logger) |
| 535 | 100 | T | F | if ($data =~ /^\s*<\?xml/ or $data =~ m[</.+>]) { } |
| 50 | T | F | elsif ($data =~ /\{.+:.\}/s) { } |
| 536 | 50 | T | F | if ($self->_load_driver('XML::Simple', ['XMLin'])) { } |
| 50 | T | F | elsif ($self->_load_driver('XML::PP')) { } |
| 537 | 0 | T | F | if ($data = XMLin($path, "ForceArray", 0, "KeyAttr", scalar [])) |
| 542 | 50 | T | F | if (my $tree = $xml_pp->parse(\$data)) |
| 543 | 50 | T | F | if ($data = $xml_pp->collapse_structure($tree)) |
| 545 | 50 | T | F | if ($$data{"config"}) |
| 556 | 0 | T | F | if ($is_json) { } |
| 558 | 0 | T | F | if ($@) |
| 564 | 0 | T | F | if ($data) |
| 570 | 100 | T | F | unless ($data) |
| 572 | 100 | T | F | if (eval {
do {
$data = LoadFile($path)
}
} and ref $data eq "HASH") |
| 577 | 50 | T | F | unless (defined $v) |
| 584 | 50 | T | F | if $v =~ /^".+"$/ |
| 585 | 100 | T | F | if ($v =~ /,/) |
| 589 | 50 | T | F | if ($val =~ /(.+)=(.+)/) { } |
| 597 | 50 | T | F | if ($data) |
| 601 | 100 | T | F | if (not $data or ref $data ne "HASH") |
| 603 | 50 | T | F | if (my $ini = "Config::IniFiles"->new("-file", $path)) |
| 608 | 0 | T | F | if ($data) |
| 612 | 50 | T | F | if (not $data or ref $data ne "HASH") |
| 614 | 50 | T | F | if ($self->_load_driver("XML::Simple", ["XMLin"])) |
| 617 | 50 | T | F | if (not $data or ref $data ne "HASH") |
| 618 | 50 | T | F | if ($self->_load_driver("Config::Abstract")) |
| 625 | 0 | T | F | if ($err) { } |
| 0 | T | F | elsif ($data) { } |
| 629 | 0 | T | F | if (scalar keys %{$data;} == 0) |
| 636 | 50 | T | F | if (not $data or ref $data ne "HASH") |
| 639 | 50 | T | F | if ($data = $ca->parse) |
| 647 | 50 | T | F | if ($logger) |
| 648 | 0 | T | F | if ($@) { } |
| 655 | 100 | T | F | if (scalar keys %merged) { } |
| 50 | T | F | elsif ($data and ref $data eq 'HASH') { } |
| 0 | T | F | elsif (not $@ and $logger) { } |
| 656 | 50 | T | F | if ($data) |
| 676 | 100 | T | F | unless $key =~ /^$$self{"env_prefix"}(.*)$/i |
| 678 | 100 | T | F | if ($path =~ /__/) { } |
| 690 | 50 | T | F | unless $arg =~ /=/ |
| 692 | 50 | T | F | unless $key =~ /^\-\-$$self{"env_prefix"}(.*)$/ |
| 696 | 50 | T | F | if (scalar @parts > 0) |
| 698 | 50 | T | F | if (scalar @parts > 1) |
| 705 | 100 | T | F | if ($$self{'flatten'}) { } |
| 712 | 100 | T | F | $$self{'flatten'} ? : |
| 726 | 100 | T | F | if ($$self{"flatten"}) |
| 731 | 50 | T | F | unless ref $ref eq "HASH" |
| 734 | 100 | T | F | if (defined $ref and not $$self{"no_fixate"}) |
| 735 | 50 | T | F | if (ref $ref eq 'HASH') { } |
| 100 | T | F | elsif (ref $ref eq 'ARRAY') { } |
| 755 | 50 | T | F | if ($$self{"flatten"}) |
| 760 | 50 | T | F | unless ref $ref eq "HASH" |
| 761 | 50 | T | F | unless exists $ref->{$part} |
| 780 | 50 | T | F | $$self{'config'} && scalar keys %{$$self{'config'};} ? : |
| 832 | 50 | T | F | if scalar @_ == 0 |
| 836 | 100 | T | F | unless defined $defaults |
| 841 | 50 | T | F | if ($$config{"global"}) |
| 842 | 0 | T | F | if ($$params{'deep'}) { } |
| 849 | 50 | T | F | if ($section and $$config{$section}) |
| 852 | 100 | T | F | if ($$params{"merge"}) |
| 863 | 100 | T | F | if $$self{"loaded"}{$driver} |
| 864 | 100 | T | F | if $$self{"failed"}{$driver} |
| 867 | 100 | T | F | if ($@) |
| 868 | 50 | T | F | if (my $logger = $$self{"logger"}) |
| 916 | 100 | T | F | if $key eq "DESTROY" |
| 924 | 100 | T | F | if ($$self{"flatten"}) |
| 925 | 50 | T | F | if exists $data->{$key} |
| 933 | 100 | T | F | if (ref $val eq 'HASH' and exists $val->{$part}) { } |