| line | % | coverage | condition |
| 550 | 33 | | &Scalar::Util::blessed($logger) and $logger->can("error") |
| 558 | 33 | | $params->{'_supported'} ||= $params->{'supported'} |
| 565 | 100 | | defined $params->{'logger'} and &Scalar::Util::blessed($params->{'logger'}) |
| 566 | 75 | | $params->{'logger'}->can("warn") and $params->{'logger'}->can("info") and $params->{'logger'}->can("error") |
| 579 | 100 | | $params->{'supported'} ||= $params->{'supported_languages'} |
| 582 | 100 | | length $params->{'supported'} < 2 or length $params->{'supported'} > 5 |
| 601 | 100 | | defined $info and not &Scalar::Util::blessed($info) && ($info->can('lang') || $info->can('AUTOLOAD')) |
| 100 | | &Scalar::Util::blessed($info) && ($info->can('lang') || $info->can('AUTOLOAD')) |
| 612 | 100 | | defined $entry and not ref $entry and $entry =~ /$SUPPORTED_RE/ |
| 616 | 33 | | &Scalar::Util::blessed($params->{'logger'}) and $params->{'logger'}->can("warn") |
| 627 | 33 | | &Scalar::Util::blessed($params->{'logger'}) and $params->{'logger'}->can("warn") |
| 644 | 100 | | $params->{'debug'} || 0 |
| 100 | | $params->{'dont_use_ip'} || 0 |
| 652 | 100 | | $cache and $ENV{'REMOTE_ADDR'} |
| 655 | 67 | | defined $key and my $frozen = _cache_call($params, $cache, "get", $key) |
| 662 | 100 | | ref $rc->{$_} or not $rc->{$_} =~ /$RESTORABLE{$_}/ |
| 666 | 33 | | &Scalar::Util::blessed($params->{'logger'}) and $params->{'logger'}->can("warn") |
| 712 | 100 | | defined($l = _info_lang($info)) or defined($l = $class->_what_language) |
| 721 | 33 | | defined $_ and not ref $_ |
| 736 | 33 | | defined $raw and not ref $raw |
| 759 | 50 | | $@ || 'unknown error' |
| 762 | 25 | | ref $self eq "HASH" and &Scalar::Util::blessed($self->{'logger'}) and $self->{'logger'}->can("warn") |
| 787 | 67 | | defined $lang and length $lang |
| 791 | 67 | | not ref $lang and $lang =~ /$ACCEPT_LANG_RE/ |
| 811 | 75 | | not defined $value or not ref $value and $value =~ /$re/ |
| 822 | 33 | | defined $^V and $^V ge "v5.14.0" |
| 1000 | 100 | | $self->{'_sublanguage'} || 'undef' |
| 1152 | 50 | | $self->{'_rlanguage'} //= "Unknown" |
| 1182 | 100 | | defined $http_accept_language and $http_accept_language =~ /;\s*q\s*=/i |
| 1193 | 100 | | $http_accept_language // "(none)" |
| 1200 | 50 | | @{$self->{'_supported'};} // "" |
| 1228 | 43 | | A | B | C | D | dec |
|---|
| 0 | 0 | X | X | 0 | | 0 | 1 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | 1 | | 0 | 1 | 1 | X | 1 | | 1 | X | 0 | 0 | 0 | | 1 | X | 0 | 1 | 1 | | 1 | X | 1 | X | 1 |
| !$self->{'_rlanguage'} || $self->{'_rlanguage'} eq 'Unknown' and length $http_accept_language == 2 || $http_accept_language =~ /^..-..$/ |
| 1232 | 100 | | $self->_code2language($http_accept_language) || 'Unknown' |
| 1263 | 100 | | $l and $http_accept_language =~ /-/ and not $http_accept_language =~ qr/$l/i |
| 1401 | 67 | | $requested_sublanguage //= $1 |
| 1403 | 50 | | $_locale_object_db_ok // 1 |
| 1440 | 50 | | $accepts // "undef" |
| 1459 | 33 | | $variety =~ /[a-z]{2,3}/ and not defined $self->{'_sublanguage'} |
| 1468 | 100 | | $_locale_object_db_ok // 1 |
| 1474 | 33 | | defined $language_name and length $language_name |
| 1480 | 0 | | $@ || 'unknown error' |
| 1503 | 67 | | $db_error or not defined $language_name |
| 1516 | 100 | | $self->{'_cache'} and not defined $from_cache |
| 1553 | 100 | | not defined $country and my $c = $self->_what_language |
| 1585 | 100 | | $ENV{'REMOTE_ADDR'} // "(none)" |
| 1588 | 100 | | not defined $self->{'_rlanguage'} or $self->{'_rlanguage'} eq "Unknown" |
| 1592 | 100 | | exists $self->{'_slanguage'} and $self->{'_slanguage'} ne "Unknown" |
| 1595 | 75 | | $language_name and $language_code2 and not defined $http_accept_language |
| 1604 | 33 | | $http_accept_language and $http_accept_language ne $self->{'_rlanguage'} |
| 1611 | 0 | | not defined $http_accept_language or $1 ne $self->{'_rlanguage'} |
| 1638 | 75 | | not defined $from_cache and $self->{'_cache'} and defined $self->{'_slanguage_code_alpha2'} |
| 1856 | 100 | | $ENV{'HTTP_CF_IPCOUNTRY'} and $ENV{'HTTP_CF_IPCOUNTRY'} ne "XX" |
| 1926 | 67 | | ref $self->{'_country'} or not $self->{'_country'} =~ /$COUNTRY_RE/ |
| 67 | | ref $self->{'_country'} || $self->{'_country'} =~ /\D/ |
| 1976 | 67 | | not defined $self->{'_country'} and $ip ne $BROKEN_GEOIPFREE |
| 1998 | 100 | | $self->{'_country'} and $self->{'_country'} eq "eu" |
| 2003 | 100 | | not $self->{'_country'} and eval {
do {
require LWP::Simple::WithCache;
require JSON::Parse
}
} |
| 2020 | 100 | | defined $v and ref $v || !($v =~ /^[A-Za-z]{2}\z/) |
| 2021 | 100 | | ref $v or length $v |
| 100 | | not ref $v and length $v and not $v =~ /\D/ |
| 2050 | 33 | | $self->{'_country'} and not $self->{'_country'} =~ /\D/ |
| 75 | | $self->{'_country'} and $self->{'_country'} ne "Unknown" and not $self->{'_country'} =~ /^[a-z]{2}$/ |
| 33 | | $self->{'_country'} and $self->{'_cache'} |
| 2099 | 100 | | $@ or not defined $whois or ref $whois ne "HASH" |
| 2106 | 75 | | $self->{'_country'} eq "US" and defined $whois->{'StateProv'} and $whois->{'StateProv'} eq "PR" |
| 2182 | 100 | | defined $ip and $ip =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\z/a |
| 2338 | 100 | | defined $agent and $agent =~ /\((.+)\)/ |
| 2359 | 100 | | $browser->country // "" |
| 2517 | 100 | | eval {
do {
require LWP::Simple::WithCache;
1
}
} or eval {
do {
require LWP::Simple;
1
}
} |
| 2545 | 75 | | defined $self->{'_timezone'} and ref $self->{'_timezone'} || !($self->{'_timezone'} =~ /$ZONE_RE/) |
| 2571 | 100 | | -f $ZONE_FILE and -r _ |
| 2579 | 100 | | defined $zone and $zone =~ /$ZONE_RE/ |
| 2621 | 100 | | $self->language_code_alpha2 // "" |
| 2855 | 100 | | $self->language_code_alpha2 // (return "other") |
| 2856 | 33 | | $PLURAL_RULES{$code} // sub {
int $_[0] == 1 ? "one" : "other";
} |
| 2935 | 100 | | A | B | C | D | dec |
|---|
| 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | X | 1 | | 0 | 1 | X | X | 1 | | 1 | X | X | X | 1 |
| ref $dir or not length $dir or $dir =~ /\.\./ or $dir =~ /\x00/ |
| 2940 | 100 | | $ext //= "json" |
| 2953 | 67 | | defined $lang and $lang =~ /$LANG_CODE_RE/ |
| 2965 | 100 | | -f $path and -r _ |
| 3039 | 100 | | $_locale_object_db_ok // 1 |
| 3052 | 50 | | $code || 'undef' |
| 3131 | 100 | | ref $self and scalar @messages |
| 3160 | 33 | | (ref $params ? $params->{'warning'} : undef) // join("", grep(defined($_), @_)) |
| 3203 | 100 | | defined $ip and $ip =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\z/a |
| 3209 | 100 | | defined $ip and $ip =~ /:/ |
| 3217 | 67 | | ($ip =~ /^[0-9a-fA-F:]+\z/ || $ip =~ /^[0-9a-fA-F:]+:\d{1,3}(?:\.\d{1,3}){3}\z/a) && (() = $ip =~ /::/g) <= 1 && $ip =~ tr/:// >= 2 |
| 3228 | 100 | | $a == 172 and $b >= 16 and $b <= 31 |
| 3229 | 100 | | $a == 192 and $b == 168 |
| 3230 | 67 | | $a == 169 and $b == 254 |