Condition Coverage

blib/lib/Module/Generic.pm
Criterion Covered Total %
condition 199 1038 19.1


and 2 conditions

line l !l condition
5566 0 73 $lconv and scalar keys %$lconv

and 3 conditions

line !l l&&!r l&&r condition
176 0 0 0 scalar @_ == 1 and ref $_[0] eq 'HASH'
196 0 0 0 $p->{'json'} and ref $rv eq 'JSON::PP::Boolean' || ref $rv eq 'Module::Generic::Boolean'
204 0 0 0 $rv->can('as_hash') and overload::Overloaded($rv)
0 0 0 $rv->can('as_hash') and overload::Overloaded($rv) and overload::Method($rv, '""')
227 0 0 0 $self->_is_object($this_ref) && $this_ref->can('as_hash')
287 0 0 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
370 0 0 0 $red < $r and $red > int $r / 2
0 0 0 $red > $r and $red < int $r_p / 2
0 0 0 $red > $r and $red < int $r_p / 2 and $r_p
380 0 0 0 $green < $g and $green > int $g / 2
0 0 0 $green > $g and $green < int $g_p / 2
0 0 0 $green > $g and $green < int $g_p / 2 and $g_p
391 0 0 0 $blue < $b and $blue > int $b / 2
0 0 0 $blue > $b and $blue < int $b_p / 2
0 0 0 $blue > $b and $blue < int $b_p / 2 and $b_p
412 12 0 0 length $opts->{'message'} and not length $opts->{'text'}
498 14 0 3 length $+{'rgb_type'} and length $+{'red'}
14 0 3 length $+{'rgb_type'} and length $+{'red'} and length $+{'green'}
0 0 3 length $+{'rgb_type'} and length $+{'red'} and length $+{'green'} and length $+{'blue'}
539 0 1 13 $self->message(9, "Checking if rgb value exists for colour '${col}'") and $col_ref = $self->colour_to_rgb($col)
656 1 10 1 scalar @$params and $opts->{'text'} =~ /\n+/
714 7 0 2 index($ct, $open) != -1 and index($ct, $close) != -1
737 0 0 4 scalar @res and not scalar(@res) % 2
854 148 0 0 $this->{'debug'} and not $this->{'debug_level'}
867 0 0 0 @_ > 1 and ref $_[-1] eq 'HASH'
0 0 0 @_ > 1 and ref $_[-1] eq 'HASH' and exists $_[-1]{'filter'}
0 0 0 @_ > 1 and ref $_[-1] eq 'HASH' and exists $_[-1]{'filter'} and ref $_[-1]{'filter'} eq 'CODE'
888 0 0 0 scalar @_ > 1 and ref $_[-1] eq 'HASH'
906 0 0 0 scalar @_ > 1 and ref $_[-1] eq 'HASH'
984 1 0 0 &Scalar::Util::blessed($_[0]) and $_[0]->isa('Module::Generic::Exception')
994 1 0 0 ref $_ eq 'CODE' && !$this->{'_msg_no_exec_sub'}
996 1 0 0 $this->{'error_max_length'} > 0 and length $args->{'message'} > $this->{'error_max_length'}
1020 0 0 1 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 1 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
1028 0 0 0 $call_offset > 0 and $call_data[0] ne $class
0 0 0 $call_offset > 0 and $call_data[0] ne $class and (caller $call_offset - 1)[0] eq $class
1034 0 0 0 $call_offset > 0 and (caller $call_offset - 1)[0] ne $class
1049 1 0 0 $err_handler and ref $err_handler eq 'CODE'
1 0 0 exists $this->{'quiet'} && $this->{'quiet'}
1105 0 0 1 length $overload_meth_name and $overload_meth_name eq $call_sub
1121 0 0 0 not $args->{'no_return_null_object'} and want('OBJECT')
1165 218 80 0 @_ == 1 and not defined $_[0]
1170 2 0 0 &Scalar::Util::blessed($args[0]) and $args[0]->isa('Module::Generic::Hash')
2 0 0 scalar @args == 1 and not defined $args[0]
1241 0 0 0 index($data->{$name}, '::') != -1 || $data->{$name} =~ /^[a-zA-Z][a-zA-Z\_]*[a-zA-Z]$/ and $self->_is_class_loaded($data->{$name})
1372 0 0 0 ref $_ eq 'CODE' && !$this->{'_msg_no_exec_sub'}
1381 0 0 0 ref $_ eq 'CODE' && !$this->{'_msg_no_exec_sub'}
1407 0 0 0 $r and not ${"${class}::LOG_DEBUG";}
0 0 0 $MOD_PERL and not ${"${class}::LOG_DEBUG";}
0 0 0 not -t STDIN and $this->{'_log_handler'}
0 0 0 not -t STDIN and $this->{'_log_handler'} and ref $this->{'_log_handler'} eq 'CODE'
0 0 0 not -t STDIN and ${$class . '::MESSAGE_HANDLER';}
0 0 0 not -t STDIN and ${$class . '::MESSAGE_HANDLER';} and ref ${$class . '::MESSAGE_HANDLER';} eq 'CODE'
1472 0 0 0 ref $_[-1] eq 'HASH' and exists $_[-1]{'level'}
0 0 0 $this->{'_message_default_level'} =~ /^\d+$/ and $this->{'_message_default_level'} > 0
1489 0 0 0 $_[0] =~ /^\d+$/ || ref $_[-1] eq 'HASH' && exists $_[-1]{'level'} and @_ > 1
1493 0 0 0 ref $_[-1] eq 'HASH' and exists $_[-1]{'level'}
1506 0 0 0 length $target_re and $class =~ /^$target_re$/
0 0 0 length $target_re and $class =~ /^$target_re$/ and ${$class . '::GLOBAL_DEBUG';} >= $message_level
1536 0 0 0 scalar @_ > 1 and ref $_[-1] eq 'HASH'
0 0 0 scalar @_ > 1 and ref $_[-1] eq 'HASH' and exists $_[-1]{'level'} || exists $_[-1]{'type'} || exists $_[-1]{'message'}
1541 0 0 0 not defined $level and exists $opts->{'level'}
1547 0 0 0 ref $_ eq 'CODE' && !$this->{'_msg_no_exec_sub'}
1556 0 0 0 ref $_ eq 'CODE' && !$this->{'_msg_no_exec_sub'}
1608 0 0 0 not &Scalar::Util::openhandle($io) and $io
1624 0 0 0 ${"${class}::LOG_DEBUG";} and not $self->_set_get('log_io')
0 0 0 ${"${class}::LOG_DEBUG";} and not $self->_set_get('log_io') and ${"${class}::DEB_LOG";}
1685 0 0 0 scalar @_ > 1 and ref $_[-1] eq 'HASH'
0 0 0 scalar @_ > 1 and ref $_[-1] eq 'HASH' and exists $_[-1]{'level'} || exists $_[-1]{'type'} || exists $_[-1]{'message'} || exists $_[-1]{'colour'}
1689 0 0 0 not defined $level and exists $opts->{'level'}
1709 0 0 0 ref $_ eq 'CODE' && !$this->{'_msg_no_exec_sub'}
1729 0 0 0 scalar @args > 1 and ref $args[-1] eq 'HASH'
0 0 0 scalar @args > 1 and ref $args[-1] eq 'HASH' and exists $args[-1]{'level'} || exists $args[-1]{'type'} || exists $args[-1]{'message'}
1773 0 0 0 ref $err and &Scalar::Util::blessed($err)
1872 0 0 0 @_ >= 2 and @_ <= 3
1875 0 0 0 @_ == 3 and ref $_[1]
1884 0 0 0 not ref $obj and index($obj, '::') == -1
1887 0 0 0 &Scalar::Util::blessed($obj) and $ref = $obj->can($meth)
1923 0 0 0 $class ne 'Module::Generic' and $meth ne 'EXTRA_AUTOLOAD'
0 0 0 $class ne 'Module::Generic' and $meth ne 'EXTRA_AUTOLOAD' and defined &{"${class}::AUTOLOAD";}
1960 0 0 0 scalar @_ == 1 and not defined $_[0]
1968 0 0 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
1984 0 0 0 $obj and $pkg
2013 0 0 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
2166 0 0 0 @_ == 1 && (&Scalar::Util::blessed($_[0]) && $_[0]->isa('ARRAY') || ref $_[0] eq 'ARRAY')
2180 0 0 0 @_ == 1 && (&Scalar::Util::blessed($_[0]) && $_[0]->isa('ARRAY') || ref $_[0] eq 'ARRAY')
2198 0 0 20 $data->{$field} and $self->_is_object($data->{$field})
2216 472 0 0 &Scalar::Util::blessed($val) and $val->isa('JSON::PP::Boolean') || $val->isa('Module::Generic::Boolean')
2237 0 472 0 length $data->{$field} and !&Scalar::Util::blessed($data->{$field}) || &Scalar::Util::blessed($data->{$field}) && !$data->{$field}->isa('Module::Generic::Boolean') && !$data->{$field}->isa('JSON::PP::Boolean')
2390 0 0 0 scalar @_ == 1 and not defined $_[0]
2430 0 0 0 scalar @_ == 1 and not defined $_[0]
2478 0 0 0 $time =~ /^\d+$/ and not $time =~ /^\d{10}$/
2527 0 0 0 not $data->{$field} and want('OBJECT')
2542 0 0 0 scalar @_ == 1 and not defined $_[0]
2572 143 0 0 scalar @_ == 1 and not defined $_[0]
2592 0 0 143 $data->{$field} and not $self->_is_object($data->{$field})
2607 0 0 0 @_ == 1 and not defined $_[0]
2670 0 0 0 $data->{$field} and $self->_is_object($data->{$field})
2694 0 0 0 scalar @_ == 1 and not defined $_[0]
2735 1 3 0 scalar @_ == 1 and not defined $_[0]
2742 0 4 0 length $data->{$field} and not ref $data->{$field}
2820 3973 0 0 not $data->{$field} and want('OBJECT')
2894 0 0 0 scalar @_ == 1 and not defined $_[0]
2940 0 0 0 scalar @_ == 1 and not defined $_[0]
2943 0 0 0 scalar @_ == 1 && UNIVERSAL::isa($_[0], 'ARRAY')
2952 0 0 0 $data->{$field} and $self->_is_object($data->{$field})
3041 0 0 59835 $self->_is_object($data->{$field}) and ref $data->{$field} ne ref $self
3082 0 0 0 not $data->{$field} and want('OBJECT')
3107 0 0 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
3110 0 0 0 &Scalar::Util::blessed($str) and $str->isa('URI')
0 0 0 defined $str and $str =~ m[^[a-zA-Z]+:/{2}] || $str =~ /^urn\:[a-z]+\:/ || $str =~ /^[a-z]+\:/
3139 0 0 0 scalar @_ == 1 && $self->_is_array($_[0])
3193 0 0 0 &Scalar::Util::blessed($_[0]) and $_[0]->isa('Module::Generic')
3222 0 0 0 $self and $self->can('autoload')
3239 0 0 0 $data and exists $data->{$meth}
0 0 0 $self and $self->can($meth)
0 0 0 $self and $self->can($meth) and defined &{"${class}::$meth";}
3356 0 0 0 $self and $func ne 'EXTRA_AUTOLOAD'
0 0 0 $self and $func ne 'EXTRA_AUTOLOAD' and $sub_ref = $self->will('EXTRA_AUTOLOAD')
3431 1 0 0 &Scalar::Util::blessed($_[0]) and $_[0]->isa('Module::Generic::Exception')
3452 1 0 0 ref $args->{'object'} and &Scalar::Util::blessed($args->{'object'})
1 0 0 ref $args->{'object'} and &Scalar::Util::blessed($args->{'object'}) and $args->{'object'}->isa('Module::Generic::Exception')
3509 0 0 0 &Scalar::Util::blessed($e) and $e->isa($class)
3557 0 0 0 &Scalar::Util::blessed($other) and $other->isa('Module::Generic::Exception')
3559 0 0 0 $self->message eq $other->message and $self->file eq $other->file
0 0 0 $self->message eq $other->message and $self->file eq $other->file and $self->line == $other->line
3625 1612 0 0 @_ == 1 && ref $_[0]
3637 0 0 0 &Scalar::Util::blessed($other) and $other->isa('Module::Generic::Null')
3689 0 0 0 scalar @_ == 1 and not defined $_[0]
3690 0 0 0 scalar @_ == 1 and &Scalar::Util::reftype($_[0]) eq 'HASH'
3815 0 0 0 $ref eq 'scalar' and $$ref == 1 || $$ref == 0
3894 3 0 35 @_ and &Scalar::Util::blessed($_[0]) && $_[0]->isa('ARRAY') || ref $_[0] eq 'ARRAY'
3941 1 2 0 defined $length and not $length =~ /^\-?\d+$/
4134 0 0 0 $is_ref and &Scalar::Util::refaddr($self->[$i]) eq $ref
0 0 0 not $is_ref and $self->[$i] eq $this
4185 0 0 1 scalar @_ == 1 && (&Scalar::Util::blessed($_[0]) && $_[0]->isa('ARRAY') || ref $_[0] eq 'ARRAY')
4228 1 1 0 defined $offset and not $offset =~ /^\-?\d+$/
4235 1 1 0 defined $length and not $length =~ /^\-?\d+$/
4255 0 0 0 defined $offset and defined $length
4305 2 0 1 &Scalar::Util::blessed($other) and $other->isa('Module::Generic::Array')
4350 0 0 1 @_ and &Scalar::Util::blessed($_[0]) && $_[0]->isa('ARRAY') || ref $_[0] eq 'ARRAY'
4408 1 0 1 $pos > 0 && $self->elements->length > 0
4512 7 12 6 $is_ref and &Scalar::Util::refaddr($elems->[$i]) eq $ref
12 6 1 not $is_ref and $val eq $this
4556 1 0 1 $pos > 0 && $self->parent->elements->length > 0
4650 4055 0 1 &Scalar::Util::blessed($other) and ref $other eq ref $self
4964 0 2 0 defined $limit and $limit =~ /^\d+$/
4990 0 1 1 defined $length and defined $replacement
5098 2 0 0 $@ and $self->_warnings_is_enabled
5514 0 0 70 $curr_locale and my $lconv = POSIX::localeconv()
5533 73 0 0 not $loc and exists $$SUPPORTED_LOCALES{$_[0]}
5576 0 0 73 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 73 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5635 70 0 0 exists $numerics->{$lconv_prop} and CORE::length $default->{$lconv_prop}
70 0 0 exists $numerics->{$lconv_prop} and CORE::length $default->{$lconv_prop} and $default->{$lconv_prop} < 0
5686 496 782 1296 not CORE::length $opts->{$lconv_prop} and exists $numerics->{$lconv_prop}
5701 0 0 143 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 143 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5719 1 0 142 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 142 1 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5763 43 0 0 $@ and $self->_warnings_is_enabled
5776 110 0 0 $@ and $self->_warnings_is_enabled
5802 2 0 0 @_ && $_[0] =~ /^\d+$/
5820 0 2 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 2 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5843 0 1 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 1 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5851 1 0 0 @_ && $_[0] =~ /^\d+$/
5872 0 1 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 1 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5896 0 1 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 1 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5917 0 0 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5927 0 0 1 defined $binary and CORE::length $binary
5938 0 1 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 1 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
5945 0 0 1 defined $hex and CORE::length $hex
5955 0 1 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 1 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
6014 0 0 0 @_ == 1 and $self->_is_hash($_[0])
6048 0 3957 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 3957 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
6093 0 0 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
6134 0 1 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 1 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
6165 3008 0 949 $self->_is_object($val) and $val->isa('Module::Generic::Scalar')
6195 0 0 0 ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
0 0 0 defined $Nice::Try::WANTARRAY and not ref $Nice::Try::RETVAL[0] && $Nice::Try::RETVAL[0]->isa('Nice::Try::SENTINEL')
6494 1 0 1 @_ and ref $_[-1] eq 'HASH'
6504 2 0 2 @_ and ref $_[-1] eq 'HASH'
6509 6 2 6 exists $to->{$k} and not $p->{'overwrite'}
6510 6 0 0 &Scalar::Util::blessed($this->{$k}) and $this->{$k}->isa('Module::Generic::Hash')
6549 0 0 1 @_ and ref $_[0] eq 'CODE'
6636 5 0 7 &Scalar::Util::blessed($other) and $other->isa('Module::Generic::Hash')
6661 0 0 2 &Scalar::Util::blessed($other) and $other->isa('Module::Generic::Hash')
6888 0 0 0 $data->{'readonly'} and $pkg ne 'Module::Generic::Tie'
6914 0 0 0 $_[0] eq '__priv__' and $pkg ne 'Module::Generic::Tie'
6927 0 0 0 $_[0] eq '__priv__' and $pkg ne 'Module::Generic::Tie'
6944 0 0 0 $_[0] eq '__priv__' and $pkg ne 'Module::Generic::Tie'

or 2 conditions

line l !l condition
686 5 0 $this->{'colour_open'} || '<'
687 5 0 $this->{'colour_close'} || '>'
931 0 0 'IO::File'->new(">$file") || die("Unable to create file '${file}': $!\n")
948 0 0 'IO::File'->new(">$file") || die("Unable to create file '${file}': $!\n")
1337 0 0 $self->message_frame((caller 1)[3]) || 1
1561 0 0 $level || 0
1613 0 0 $io->print(scalar localtime time, " [$$]: ", @_) || (return $self->error("Unable to print to log file: $!"))
1636 0 0 'IO::File'->new(">>$DEB_LOG") || die("Unable to open debug log file $DEB_LOG in append mode: $!\n")
1716 0 0 $level || 0
1798 0 0 'IO::File'->new(">$opts->{'file'}") || (return $self->error(qq[Unable to open file "$opts->{'file'}" in write mode: $!]))
1903 0 0 $level ||= 0
2005 0 0 shift @_ || (return $self->error('No package name was provided to load.'))
2256 0 0 shift @_ || (return $self->error('No field was provided to create a dynamic class.'))
2397 0 0 $self->__create_class($field, $def) || die(qq[Failed to create the dynamic class for field "$field".\n])
2431 0 0 $self->__create_class($field, $def) || die(qq[Failed to create the dynamic class for field "$field".\n])
2605 0 0 shift @_ || (return $self->error('No field provided for _set_get_hash_as_object'))
2806 0 0 $self->_instantiate_object($field, $class, @_) || (return $self->pass_error($class->error))
2813 0 0 $self->_instantiate_object($field, $class, @_) || (return $self->pass_error($class->error))
2826 0 0 $self->_instantiate_object($field, $class, @_) || (return $self->pass_error($class->error))
2913 0 0 $self->_instantiate_object($field, $class, $ref->[$i]) || (return)
2924 0 0 $self->_instantiate_object($field, $class) || (return)
2936 0 0 shift @_ || (return $self->error('No field name was provided for this array of object.'))
2937 0 0 shift @_ || (return $self->error('No class was provided for this array of objects.'))
2945 0 0 $self->_set_get_object_array($field, $class, $that) || (return)
2981 0 0 $self->_instantiate_object($field, $class, $data) || (return $self->error('Unable to create object: ', $self->error))
3166 0 0 'DBI'->connect_cached(${"${class}::DB_DSN";}) || die(q[Unable to connect to sql database with dsn '], ${"${class}::DB_DSN";}, "'\n")
3445 1 0 $args->{'skip_frames'} || 0
3463 1 0 $args->{'message'} || ''
4867 2 0 $str //= ' '
6140 29 0 shift @_ || (return $self->error('No function was provided.'))
6182 0 0 shift @_ || (return)
6183 0 0 $self->{'_fmt'} || (return)
6264 7 0 shift @_ || (return $self->error('No function was provided.'))
6407 1 0 shift @_ || (return $self->error('No subroutine callback as provided for each'))
6423 1 0 shift @_ || (return $self->error('No subroutine callback as provided for each'))

or 3 conditions

line l !l&&r !l&&!r condition
131 73 80 0 ref $that || $that
196 0 0 0 ref $rv eq 'JSON::PP::Boolean' || ref $rv eq 'Module::Generic::Boolean'
253 0 0 0 ref $self || $self
370 0 0 0 $red == $r or $red < $r and $red > int $r / 2
0 0 0 $red == $r or $red < $r and $red > int $r / 2 or $red > $r and $red < int $r_p / 2 and $r_p
0 0 0 $red == $r or $red < $r and $red > int $r / 2 or $red > $r and $red < int $r_p / 2 and $r_p or $red > $r
380 0 0 0 $green == $g or $green < $g and $green > int $g / 2
0 0 0 $green == $g or $green < $g and $green > int $g / 2 or $green > $g and $green < int $g_p / 2 and $g_p
0 0 0 $green == $g or $green < $g and $green > int $g / 2 or $green > $g and $green < int $g_p / 2 and $g_p or $green > $g
391 0 0 0 $blue == $b or $blue < $b and $blue > int $b / 2
0 0 0 $blue == $b or $blue < $b and $blue > int $b / 2 or $blue > $b and $blue < int $b_p / 2 and $b_p
0 0 0 $blue == $b or $blue < $b and $blue > int $b / 2 or $blue > $b and $blue < int $b_p / 2 and $b_p or $blue > $b
415 0 0 0 delete $opts->{'color'} || delete $opts->{'fg_colour'} || delete $opts->{'fg_color'} || delete $opts->{'fgcolour'} || delete $opts->{'fgcolor'}
8 4 0 $opts->{'colour'} //= delete $opts->{'color'} || delete $opts->{'fg_colour'} || delete $opts->{'fg_color'} || delete $opts->{'fgcolour'} || delete $opts->{'fgcolor'}
416 5 0 6 delete $opts->{'bgcolor'} || delete $opts->{'bg_colour'} || delete $opts->{'bg_color'}
0 6 6 $opts->{'bgcolour'} //= delete $opts->{'bgcolor'} || delete $opts->{'bg_colour'} || delete $opts->{'bg_color'}
503 1 0 2 $+{'opacity'} or $light
603 12 0 0 $opts->{'colour'} or $opts->{'color'}
0 0 0 $opts->{'colour'} or $opts->{'color'} or $opts->{'fgcolour'}
0 0 0 $opts->{'colour'} or $opts->{'color'} or $opts->{'fgcolour'} or $opts->{'fgcolor'}
0 0 0 $opts->{'colour'} or $opts->{'color'} or $opts->{'fgcolour'} or $opts->{'fgcolor'} or $opts->{'fg_colour'}
0 0 0 $opts->{'colour'} or $opts->{'color'} or $opts->{'fgcolour'} or $opts->{'fgcolor'} or $opts->{'fg_colour'} or $opts->{'fg_color'}
605 0 0 0 delete $opts->{'color'} || delete $opts->{'fg_colour'} || delete $opts->{'fg_color'} || delete $opts->{'fgcolour'} || delete $opts->{'fgcolor'}
12 0 0 $opts->{'colour'} ||= delete $opts->{'color'} || delete $opts->{'fg_colour'} || delete $opts->{'fg_color'} || delete $opts->{'fgcolour'} || delete $opts->{'fgcolor'}
619 6 0 6 $opts->{'bgcolour'} or $opts->{'bgcolor'}
0 0 6 $opts->{'bgcolour'} or $opts->{'bgcolor'} or $opts->{'bg_colour'}
0 0 6 $opts->{'bgcolour'} or $opts->{'bgcolor'} or $opts->{'bg_colour'} or $opts->{'bg_color'}
621 0 0 0 delete $opts->{'bgcolor'} || delete $opts->{'bg_colour'} || delete $opts->{'bg_color'}
6 0 0 $opts->{'bgcolour'} ||= delete $opts->{'bgcolor'} || delete $opts->{'bg_colour'} || delete $opts->{'bg_color'}
721 4 0 1 $+{'style1'} || $+{'style2'}
738 0 0 4 $@ or ref $def ne 'HASH'
740 0 0 0 $@ || qq[Invalid styling "$params"]
831 3 0 0 $+{'style1'} || $+{'style2'}
860 0 153 0 $this->{'debug'} || ${"${class}::DEBUG";}
979 1 0 0 ref $self || $self
1034 0 0 0 $call_data[9] or $call_offset > 0 and (caller $call_offset - 1)[0] ne $class
1170 80 0 2 ref $args[0] eq 'HASH' or &Scalar::Util::blessed($args[0]) and $args[0]->isa('Module::Generic::Hash')
1241 0 0 0 index($data->{$name}, '::') != -1 || $data->{$name} =~ /^[a-zA-Z][a-zA-Z\_]*[a-zA-Z]$/
1314 0 0 0 ref $self || $self
1320 0 0 0 $this->{'verbose'} or $this->{'debug'}
0 0 0 $this->{'verbose'} or $this->{'debug'} or ${$class . '::DEBUG';}
1340 0 0 0 (caller 1)[3] eq 'Module::Generic::messagef' or (caller 1)[3] eq 'Module::Generic::message_colour'
1464 0 0 0 ref $self || $self
1489 0 0 0 $_[0] =~ /^\d+$/ || ref $_[-1] eq 'HASH' && exists $_[-1]{'level'}
1506 0 0 0 $this->{'debug'} >= $message_level or $this->{'verbose'} >= $message_level
0 0 0 $this->{'debug'} >= $message_level or $this->{'verbose'} >= $message_level or ${$class . '::DEBUG';} >= $message_level
0 0 0 $this->{'debug'} >= $message_level or $this->{'verbose'} >= $message_level or ${$class . '::DEBUG';} >= $message_level or $this->{'debug_level'} >= $message_level
0 0 0 $this->{'debug'} >= $message_level or $this->{'verbose'} >= $message_level or ${$class . '::DEBUG';} >= $message_level or $this->{'debug_level'} >= $message_level or $this->{'debug'} >= 100
0 0 0 $this->{'debug'} >= $message_level or $this->{'verbose'} >= $message_level or ${$class . '::DEBUG';} >= $message_level or $this->{'debug_level'} >= $message_level or $this->{'debug'} >= 100 or length $target_re and $class =~ /^$target_re$/ and ${$class . '::GLOBAL_DEBUG';} >= $message_level
1530 0 0 0 ref $self || $self
1532 0 0 0 $this->{'verbose'} or $this->{'debug'}
0 0 0 $this->{'verbose'} or $this->{'debug'} or ${$class . '::DEBUG';}
1536 0 0 0 exists $_[-1]{'level'} || exists $_[-1]{'type'} || exists $_[-1]{'message'}
1648 298 0 0 ref $self || $self
1653 0 0 297 $flag || $this->{'verbose'} || $this->{'debug'}
1679 0 0 0 ref $self || $self
1681 0 0 0 $this->{'verbose'} or $this->{'debug'}
0 0 0 $this->{'verbose'} or $this->{'debug'} or ${$class . '::DEBUG';}
1685 0 0 0 exists $_[-1]{'level'} || exists $_[-1]{'type'} || exists $_[-1]{'message'} || exists $_[-1]{'colour'}
1725 0 0 0 $this->{'verbose'} or $this->{'debug'}
0 0 0 $this->{'verbose'} or $this->{'debug'} or ${$class . '::DEBUG';}
1729 0 0 0 exists $args[-1]{'level'} || exists $args[-1]{'type'} || exists $args[-1]{'message'}
1830 0 0 0 ref $that || $that
1891 0 0 0 ref $obj || $obj
2216 0 0 0 $val->isa('JSON::PP::Boolean') || $val->isa('Module::Generic::Boolean')
0 0 472 lc $val eq 'true' or lc $val eq 'false'
2237 0 0 472 !&Scalar::Util::blessed($data->{$field}) || &Scalar::Util::blessed($data->{$field}) && !$data->{$field}->isa('Module::Generic::Boolean') && !$data->{$field}->isa('JSON::PP::Boolean')
2319 0 0 0 $type eq 'object' or $type eq 'scalar_or_object'
0 0 0 $type eq 'object' or $type eq 'scalar_or_object' or $type eq 'object_array'
0 0 0 $type eq 'class' or $type eq 'class_array'
2765 0 0 0 ref $_[0] eq 'HASH' or &Scalar::Util::blessed($_[0])
3001 0 0 0 ref $val eq 'HASH' or ref $val eq 'ARRAY'
3016 0 0 4030 ref $val eq 'SCALAR' or UNIVERSAL::isa($val, 'SCALAR')
3041 1719 59835 0 not $self->_is_object($data->{$field}) or $self->_is_object($data->{$field}) and ref $data->{$field} ne ref $self
3073 0 0 0 ref $_[0] eq 'HASH' or &Scalar::Util::blessed($_[0])
3110 0 0 0 $str =~ m[^[a-zA-Z]+:/{2}] || $str =~ /^urn\:[a-z]+\:/ || $str =~ /^[a-z]+\:/
3139 0 0 0 scalar @_ == 0 || scalar @_ == 1 && !defined($_[0])
3147 1 0 0 ref $_[0] || $_[0]
3152 0 0 0 ref $self || $self
3176 0 0 0 ref $self || $self
3184 0 0 0 ref $self || $self
3195 0 0 0 ref $self || $self
3586 0 0 0 ref $self || $self
3623 0 1612 0 ref $this || $this
3683 0 0 0 ref $this || $this
3802 0 0 0 ref $self || $self
3815 0 0 0 $ref eq 'hash' or $ref eq 'array'
0 0 0 $ref eq 'json::pp::boolean' or $ref eq 'module::generic::boolean'
0 0 0 $$ref == 1 || $$ref == 0
0 0 0 $ref eq 'json::pp::boolean' or $ref eq 'module::generic::boolean' or $ref eq 'scalar' and $$ref == 1 || $$ref == 0
3894 0 35 0 &Scalar::Util::blessed($_[0]) && $_[0]->isa('ARRAY') || ref $_[0] eq 'ARRAY'
3895 30 8 0 ref $this || $this
3965 1 0 0 CORE::shift @_ || do {
4134 0 0 0 $is_ref and &Scalar::Util::refaddr($self->[$i]) eq $ref or not $is_ref and $self->[$i] eq $this
4331 1 0 0 ref $_[0] || $_[0]
4350 0 1 0 &Scalar::Util::blessed($_[0]) && $_[0]->isa('ARRAY') || ref $_[0] eq 'ARRAY'
4512 6 1 18 $is_ref and &Scalar::Util::refaddr($elems->[$i]) eq $ref or not $is_ref and $val eq $this
4669 0 59901 1929 ref $_[0] eq 'SCALAR' or UNIVERSAL::isa($_[0], 'SCALAR')
0 0 1929 ref $_[0] eq 'ARRAY' or UNIVERSAL::isa($_[0], 'ARRAY')
4692 8 61822 0 ref $this || $this
4936 0 0 3815 ref $_[0] eq 'SCALAR' or UNIVERSAL::isa($_[0], 'SCALAR')
0 0 3815 ref $_[0] eq 'ARRAY' or UNIVERSAL::isa($_[0], 'ARRAY')
4972 0 2 0 Want::want('OBJECT') or Want::want('SCALAR')
5044 0 0 0 ref $_[0] || $_[0]
6167 249 3708 0 $val ne $self->{$prop} or not defined $val
6228 1 16 0 ref $this || $this
6356 1 147 0 ref $that || $that
6491 0 0 2 not $hash or &Scalar::Util::reftype($hash) ne 'HASH'
6510 2 0 6 ref $this->{$k} eq 'HASH' or &Scalar::Util::blessed($this->{$k}) and $this->{$k}->isa('Module::Generic::Hash')
6718 0 148 0 ref $self || $self
6735 0 0 1 $self->_exclude($caller) or not $self->{'enable'}
6752 0 0 3 $self->_exclude($caller) or not $self->{'enable'}
6770 1342 14 22 $self->_exclude($caller) or not $self->{'enable'}
6789 0 0 26 $self->_exclude($caller) or not $self->{'enable'}
6815 0 0 0 $self->_exclude($caller) or not $self->{'enable'}
6832 891 0 3476 $self->_exclude($caller) or not $self->{'enable'}
6879 0 0 0 ref $self || $self