Condition Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
condition 784 1436 54.6


and 2 conditions

line l !l condition
5639 9585 9 0 $desc =~ s/ (0x[\da-f]+)$//i and $tagID = $1
5692 0 9 $self->Filter($filter, \$_) and $rtnVal = 1
5696 0 0 $self->Filter($filter, \$val{$_}) and $rtnVal = 1
7217 19 0 $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1

and 3 conditions

line !l l&&!r l&&r condition
2064 5 4 501 ref $_[0] and UNIVERSAL::isa($_[0], "Image::ExifTool")
2108 20166 58 0 ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand'
2114 4755 0 7 $param eq "Exclude" and defined $newVal
2123 0 0 18 $langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal"
2265 3912 58 0 $param eq "TimeZone" and defined $newVal
3970 0 0 $param eq "TimeZone" and defined $newVal and length $newVal
2267 59 5 0 defined $newVal and $newVal eq "XML"
59 0 5 defined $newVal and $newVal eq "HTML"
2414 514 1 2 ref $_[1] eq "HASH" and $_[1]{'ReEntry'}
1 0 2 ref $_[1] eq "HASH" and $_[1]{'ReEntry'} and ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB'
2462 58 0 0 not @startTime and $req->{'processingtime'}
2478 0 0 473 defined $filename and $filename ne ""
2484 415 0 58 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2489 0 0 473 defined $dir and length $dir
2490 415 0 58 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2502 473 0 0 $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2504 473 0 0 $^O eq "MSWin32" and eval { do { require Win32API::File } }
2568 58 0 0 $^O eq "MSWin32" and defined $filename
58 0 0 $^O eq "MSWin32" and defined $filename and $filename ne ""
0 0 0 $^O eq "MSWin32" and defined $filename and $filename ne "" and $filename ne "-"
2578 0 0 0 defined $wattr and $wattr != 4294967295
2593 517 0 0 $^O eq "darwin" and defined $filename
517 0 0 $^O eq "darwin" and defined $filename and $filename ne ""
0 0 0 $^O eq "darwin" and defined $filename and $filename ne "" and defined $fileSize
2601 0 0 0 $mdItem and $plainFile
2606 24 493 0 defined $stat[2] and ($stat[2] & 61440) == 16384
2618 42 183 292 defined $ext and not defined $Image::ExifTool::magicNumber{$ext}
225 290 2 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext}
473 2 0 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
2627 0 0 0 $fast == 4 and $options->{'Composite'}
2663 9 27 0 defined $moduleName{$type} and not $moduleName{$type}
2666 548 9 0 $weakMagic{$type} and defined $recognizedExt
2685 556 1 0 $fast == 3 and not $processType{$type}
2686 0 0 0 $weakMagic{$type} and !$ext || $ext ne $type
2773 0 0 0 defined $type && ($fast || $self->{'FoundXMP'})
517 0 0 $self->Options("ScanForXMP") and not defined $type && ($fast || $self->{'FoundXMP'})
2784 254 25 238 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16
279 145 93 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
2802 0 0 0 defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
2813 475 0 0 $rsize and $options->{'ExtractEmbedded'}
2830 516 0 1 $options->{'Validate'} and not $reEntry
2879 0 180 510 @_ and not defined $_[0]
2939 110 49 197 @$wildTags and $i == $wildTags->[0]
2956 0 2 0 $sort and $sort ne "Input"
2995 0 0 0 $info and not $sort
3001 0 18 411 $sort and $sort ne "Input"
3117 42759 0 53 $tagInfo->{'Struct'} and ref $value
3155 69619 0 646 ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3168 20935 1745 2043 $type eq "Both" and $convType eq "PrintConv"
3214 22011 0 2906 ref $val eq "HASH" and not @val
3249 69 0 2 $tagInfo->{'PrintHex'} and $val
69 2 0 $tagInfo->{'PrintHex'} and $val and &IsInt($val)
2 0 0 $tagInfo->{'PrintHex'} and $val and &IsInt($val) and $convType eq "PrintConv"
3261 7258 0 289 $self->{'CUR_LANG'} and $convType eq "PrintConv"
7258 45 244 $self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH"
45 0 244 $self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH" and $tmp = $tmp->{'PrintConv'}
3266 244 0 0 $conv->{'BITMASK'} and not defined $conv->{$val}
3307 15 117 0 $nextConv and $nextConv eq "REPEAT"
3317 23651 0 124 $convList and ref $value eq "ARRAY"
3345 34075 5 441 $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3348 19 103 163 $type eq "PrintConv" and not $self->{'OPTIONS'}{'List'}
122 1 162 $type eq "PrintConv" and not $self->{'OPTIONS'}{'List'} and not ref $value->[0]
3371 0 2 23280 $tagInfo and defined $tagInfo->{'TagID'}
3400 128 0 1 $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$//
128 0 1 $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$// and $desc = $self->{'CUR_LANG'}{$name}
3458 76654 15141 98724 defined $family and $family ne -1
3465 2736 0 0 @families == 1 and $families[0] != 7
3523 0 2736 2736 $simplify and @grps
2736 2720 16 $simplify and @grps and $grp eq $grps[-1]
3526 0 16 2720 $simplify and @grps > 1
16 2720 0 $simplify and @grps > 1 and $grps[0] eq "Main"
3617 36903 2597 195 $tagInfo->{'SubDoc'} && $self->{'DOC_COUNT'}
3633 54057 0 4895 $notBuilt{$reqTag} and not $inhibit->{$index}
3665 23799 659 2095 $reqGroup eq "Composite" and $notBuilt{$name}
3668 267 1388 440 $inhibit->{$index} and $allBuilt
3818 0 0 0 defined $desc and $desc eq 0
3826 0 0 0 defined $module and $module eq 0
3841 49 904 428 $fileType and not ref $fileType
3844 49 904 0 $fileType and !defined($desc) || $desc ne '0'
3846 0 0 0 $Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}
3859 259 645 0 defined $mod and $mod eq 0
4089 0 1 0 $trunc and $pos + $n > length $$strPt
4094 38 39 0 $ch == 224 and (ord $1 & 224) == 128
77 0 0 $ch == 237 and (ord $1 & 224) == 160
76 1 0 $ch == 239 and ord $1 == 191
77 0 0 $ch == 239 and ord $1 == 191 and (ord substr($1, 1) & 254) == 190
4099 75 0 0 $ch == 240 and (ord $1 & 240) == 128
75 0 0 $ch == 244 and ord $1 > 143
4135 1136 0 0 $^O eq "MSWin32" and $file =~ /[\x80-\xff]/
1136 0 0 $^O eq "MSWin32" and $file =~ /[\x80-\xff]/ and not defined $enc
4170 688 0 0 $file =~ /\|$/ && $self->{'TRUST_PIPE'}
4231 221 0 0 -e $file && !(-p $file)
4247 0 0 0 $attrs and $attrs != 4294967295
0 0 0 $attrs and $attrs != 4294967295 and $attrs & $dirBit
4339 1343 0 153 ref $arg and not overload::Method($arg, "\"\"")
4353 171 0 0 @oldGroupOpts and $opt =~ /^Group/
4366 1 0 22 ref $arg eq "SCALAR" and $] >= "5.006"
1 22 0 ref $arg eq "SCALAR" and $] >= "5.006" and eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@
4438 0 0 0 $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
4440 0 1 0 $id =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $id
4565 854 0 15 $tag =~ s/#$// and $options->{'PrintConv'}
4566 680 189 0 defined $tagHash->{$reqTag} and not $doDups
4597 635 0 234 defined $group and not $allGrp
4643 622 0 68 $exclude || @groupOptions and @$rtnTags
4668 27 0 30 $group and @matches
4676 0 1 40 $duplicates and not @groupOptions
4719 976 0 0 $wantTag and $wantTag < $wanted
4802 30 1 0 $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
4816 32 16 0 $ignorable and $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4850 0 0 504 $tagList and @$tagList
4868 7 994 23 not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s
4879 0 0 0 $p2 and /(.+:)(.+)/
4909 0 0 0 $pre and /(.+:)(.+)/
4974 5091 0 0 $override and not defined $tagInfo->{'Override'}
5096 221155 1 3027 $tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'}
5177 1299 0 0 $Image::ExifTool::swapWords and length $_[0] == 8
5474 26108 76 2994 $isRational{$format} and $ratPt
5516 5075 7 1089 $from ne $to and length $val
5520 0 0 1089 $cs1 and $cs2
0 0 1089 $cs1 and $cs2 and not $cs2 & 2
5676 12611 0 462 defined $filter and defined $$valPt
5726 0 0 0 $maxLen > 2048 and $verbose < 5
5744 0 0 8 $shift =~ s/^([-+])// && $1 eq '-'
5759 0 0 5 @a and $a[-1] >= 1000
0 0 5 @a and $a[-1] >= 1000 and $a[-1] < 3000
0 0 5 @a and $a[-1] >= 1000 and $a[-1] < 3000 and eval { do { require POSIX } }
5776 0 0 0 $frac =~ s/^(\d)// and $1 ne 0
5800 0 0 0 not $tz and eval { do { require Time::Local } }
5802 0 0 0 $tz && $tz =~ /^([-+]\d{2}):(\d{2})$/
5804 0 0 0 $fmt =~ /%s/ and eval { do { require Time::Local } }
5826 0 0 3 &IsFloat($val) and $val != 0
5831 1 0 2 $mult && $mult >= 60
5832 2 0 1 $val == 60 && $mult
5916 0 0 0 $dec =~ s/^(\d)// and $1 eq 1
5963 47 112 1 $tzStr and $tzStr =~ /^(\.\d+)/
6019 19 0 17 $bitrate >= 1000 and @units
6091 0 0 566 $raf->Seek(-$offset, 2) and ($len = $raf->Tell) > 0
6094 0 0 566 $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
6208 0 0 185 $result > 0 and $dirInfo->{'DirLen'}
6273 0 0 1157 $markerName and $markerName =~ /^([A-Z]+)\d+$/
6319 0 0 233 $raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/
6321 0 0 2 $raf->Read($s, 5) == 5 and $s eq "Exiv2"
6326 194 39 0 $options->{'RequestAll'} and $options->{'RequestAll'} > 2
6329 6 2 0 $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
6364 233 1819 1 $marker and $marker == 217 || $marker == 218 && !$wantTrailer || $marker == 147
6381 0 0 1587 defined $len and $len >= 2
6390 0 0 0 defined $len and $len >= 4
6402 1820 0 0 $skipped and not $foundSOS
1820 0 0 $skipped and not $foundSOS and $markerName ne "SOS"
6413 1359 232 229 ($marker & 240) == 192 and $marker == 192 || $marker & 3
1128 0 230 $marker == 219 and length $$segDataPt
1128 230 0 $marker == 219 and length $$segDataPt and $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2
6431 0 0 229 $n == 3 and $length >= 15
6451 0 0 229 $hmin and $vmin
6460 3 0 0 $htmlDump and $dumpEnd
6495 0 0 0 $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
6500 0 0 0 $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
6517 0 0 0 $start and $start ne $actual
0 0 0 $start and $start ne $actual and $verbose > 1
6526 0 0 0 $self->{'PreviewError'} and $self->{'PreviewImageLength'}
6527 0 0 0 $raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'})
6576 200 0 28 $trailInfo and $verbose < 3
200 0 28 $trailInfo and $verbose < 3 and not $htmlDump
6581 228 0 0 $wantTrailer and $self->{'PreviewImageStart'}
6585 0 0 0 $raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4
0 0 0 $raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4 and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/
6616 0 0 0 $verbose and $marker
6686 68 0 1 $$segDataPt =~ /^FLIR\0/ and $length >= 8
6711 164 23 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/
6736 12 4 0 not $plen and $self->{'PreviewError'}
6740 171 4 12 $start and $plen
175 0 12 $start and $plen and &IsInt($start)
4 0 12 $start and $plen and &IsInt($start) and &IsInt($plen)
0 12 0 $start and $plen and &IsInt($start) and &IsInt($plen) and $start + $plen > $self->{'EXIF_POS'} + length($self->{'EXIF_DATA'})
12 0 0 $start and $plen and &IsInt($start) and &IsInt($plen) and $start + $plen > $self->{'EXIF_POS'} + length($self->{'EXIF_DATA'}) and $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'}
6813 0 1 0 defined $_ and $flir .= $_
6844 0 68 0 $processed and not $start
6848 68 0 0 $verbose and not $processed
6853 86 0 34 $$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14
6878 34 34 0 defined $_ and $icc_profile .= $_
6900 2 19 46 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
6923 120 0 0 $preview and $nextMarker ne $marker
6974 20 0 0 $preview and $nextMarker ne 228
6979 0 0 0 $$segDataPt =~ /^SCALADO\0/ and $length >= 16
0 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^\xaa\x55\x12\x06/
7002 0 0 0 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
7016 0 0 0 $preview and $nextMarker ne 229
7042 1 0 0 $$segDataPt =~ /^TDHD\x01\0\0\0/ and $length > 12
7117 0 0 19 $$segDataPt =~ /^SPIFF\0/ and $length == 32
7124 0 0 19 $$segDataPt =~ /^Media Jukebox\0/ and $length > 22
7134 0 0 0 $$segDataPt =~ /^AROT\0/ and $length > 10
7144 0 0 19 $$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16
7155 0 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /
7172 19 0 0 $len == 1 and length $$segDataPt >= 24
7226 44 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/
7255 29 0 16 $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
7268 0 0 19 $$segDataPt =~ /^Q\s*(\d+)/ and $length == 4
7295 1114 1 0 not $dumpType and $options->{'Unknown'} || $options->{'Validate'}
7420 36 6 394 $dataPt and length $$dataPt
7451 392 2 0 $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
7460 0 43 0 $dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS"
7484 209 268 0 $fileType eq "APP1" and $identifier != 42
7495 3 20 17 $identifier == 42 and $offset >= 16
20 0 3 $identifier == 85 and $fileType =~ /^(RAW|RW2|RWL|TIFF)$/
7512 0 0 3 $offset >= 24 and $raf->Read($magic, 16)
0 0 3 $offset >= 24 and $raf->Read($magic, 16) and $magic eq "\210\347t\330\370%\35M\224znw\202+]j"
7523 13 0 0 $byteOrder eq "II" and ($identifier & 255) == 188
7548 0 2 38 $fileType and not $self->{'VALUE'}{'FileType'}
7557 13 27 0 not $outfile and $self->{'OPTIONS'}{'FastScan'}
27 0 0 not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} == 3
7560 284 175 18 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/
7611 27 0 0 $self->{'HTML_DUMP'} and $self->{'KnownTrailer'}
7620 351 2 0 $self->{'DNGVersion'} and not $self->{'VALUE'}{'FileType'} =~ /^(DNG|GPR)$/
7669 5 0 0 $pi and $pi->{'Fixup'}
7671 115 0 0 $self->{'TIFF_TYPE'} eq "ARW" and not $err
7684 111 0 10 ref $dirInfo{'ImageData'} and not $err
7694 111 1 12 $raf and $tiffEnd
112 0 12 $raf and $tiffEnd and not $err
7718 8 3 1 $extra > 0 and $tiffEnd & 1
7721 0 0 1 defined $buf and $buf eq "\0"
7725 3 0 0 $self->{'DEL_GROUP'}{'Trailer'} and not $known
7765 0 0 1 $ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.6"
7838 1375 2224 913 $defaultGroups->{'0'} and $defaultGroups->{'1'}
7870 3944 566 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
566 0 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite
7885 88166 0 1340 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'}
88166 1178 162 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined
1178 162 0 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
7906 0 0 4885 $tagTablePtr and $dirInfo
7918 193 560 4132 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'}
753 4131 1 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
7926 0 0 0 $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
7967 84 47 1796 $filename and $filename =~ /^.*\.([^.]+)$/s
8022 6495 5480 662 $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
8034 97555 931 2146 $tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'}
98486 85 2061 $tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'} and not $self->{'OPTIONS'}{'Verbose'} || $self->{'HTML_DUMP'} || $self->{'OPTIONS'}{'Validate'} && !$tagInfo->{'AddedUnknown'}
8044 0 4351 845 not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'}
4351 121 724 not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'} and $tagID =~ /^\d+$/
4472 125 599 not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}
8102 4661 1 1442 defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'}
8153 874 0 574 $subdir and not $tagInfo->{'Writable'}
874 0 574 $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
8159 0 0 874 $start >= 0 and $start + $size <= $dLen
8161 103 452 319 not $format and $pfmt
555 0 319 not $format and $pfmt and $formatSize{$pfmt}
8188 746 0 1 $tagInfo->{'RawConv'} and not $tagInfo->{'Writable'}
8236 0 0 1 $num & 65280 and $num >> 8 > ($num & 255)
8250 6500 0 12 defined $rational and defined $key
8287 2099 51627 39 not defined $priority and $tagInfo->{'Avoid'}
8296 7316 0 1729 ref $value eq "HASH" and $tagInfo->{'IsComposite'}
8364 584 3010 411 $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
8367 85 154 1775 not $priority and $self->{'DIR_NAME'}
154 1735 40 not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
8375 2276 496 3247 $priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag} && $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'}
456 53 2728 $priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag} && $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'} and not $noListDel
8430 53767 116 1173 $tagInfo->{'List'} and not $self->{'NO_LIST'}
53883 65 1108 $tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel
8437 54821 22 213 $options->{'Validate'} and not ref $value
8506 590 0 48 $self->{'VALUE'}{'FileType'} and not $self->{'DOC_NUM'}
8511 44 289 257 defined $ext and $ext ne $fileType
333 0 257 defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'}
8513 15 229 13 ref $f eq "ARRAY" and ref $e eq "ARRAY"
244 3 10 ref $f eq "ARRAY" and ref $e eq "ARRAY" and $f->[0] eq $e->[0]
8539 0 6 12 defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'}
8584 9152 0 4 $self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level
8619 128 0 0 $verbose and $verbose > 2
8659 9 0 34 !$self->{'OPTIONS'}{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $self->{'OPTIONS'}{'Verbose'}
9 0 34 !$self->{'OPTIONS'}{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $self->{'OPTIONS'}{'Verbose'} and not $self->{'REQ_TAG_LOOKUP'}{$lcTag}
8665 0 5 8 $self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length
8669 0 5 0 $isPreview and not $self->{'BuildingComposite'}
8706 2070 0 0 $unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}
8733 0 0 0 $topIndex and $$tagTablePtr{$index - $topIndex}
8750 16233 262 0 $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
8802 0 0 0 $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
8858 292 1 0 $varSize != $oldVarSize and $verbose > 2
8876 16235 0 0 $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
8878 16050 0 185 defined $val and not $tagInfo->{'SubDirectory'}
8884 16037 0 198 $verbose and not $tagInfo->{'Hidden'}
8908 2 0 12 $tagInfo->{'Format'} and $formatSize{$format}
8913 0 0 2 $subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData
8940 16183 0 38 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3

or 2 conditions

line l !l condition
2020 475 0 ref $that || $that || 'Image::ExifTool'
2408 2 515 $options->{'FastScan'} || 0
2410 58 459 $options->{'RequestAll'} || 0
2729 0 0 &GetFileType($realname) || ''
2800 0 0 $self->{'FIRST_EXIF_POS'} || 0
2902 2 35 $nonVal{$_} || 0
2926 690 0 $self->{'REQUESTED_TAGS'} || []
3006 0 409 $1 || 0
3085 0 0 $self->{'DUPL_TAG'}{$tg} || 0
3395 236 9 $desc = $desc->{'Description'} or last
3401 0 0 $desc = $desc->{'Description'} or last
3441 69901 0 $self->{'TAG_INFO'}{$tag} || {}
3448 35640 0 $tagInfo->{'Table'} || {'GROUPS', {}}
3453 99622 0 $tagTablePtr->{'GROUPS'}{$_} || ''
3499 255 88419 defined $groups[$_] or $groups[$_] = ""
3503 28485 0 $groups[$family] || ''
3508 0 31 $1 || '1'
3618 33974 5721 $tagInfo->{'Require'} || {}
3619 16943 22752 $tagInfo->{'Desire'} || {}
3620 2534 37161 $tagInfo->{'Inhibit'} || {}
3638 0 0 $2 || 0
3648 0 285 $self->{'DUPL_TAG'}{$reqTag} || 0
3658 0 0 $ex->{$_}{'G3'} || 0
3675 496 24402 $self->{'DUPL_TAG'}{$name} || 0
4246 0 0 eval { do { Win32API::File::FILE_ATTRIBUTE_DIRECTORY() } } || 0
4538 690 0 $self->{'REQUESTED_TAGS'} || []
4608 0 0 $self->{'PRIORITY'}{$tag} || 1
4614 0 0 $priority || 1
4685 20 9 $1 || 0
4980 0 337 $tagInfo->{'Override'} || 0
0 337 $$compTable{$compositeID{$tagID}[0]}{'Override'} || 0
6088 185 381 shift() || 0
6135 0 57 $dirInfo->{'Offset'} || 0
6309 2 231 $options->{'FastScan'} || 0
7312 1 0 $self->{'VALUE'}{'HasExtendedXMP'} || ''
7314 1 0 $options->{'ExtendedXMP'} || 0
7412 428 55 $dirInfo->{'Parent'} || ''
7414 362 121 $dirInfo->{'Base'} || 0
7448 356 38 $dirInfo->{'DirStart'} || 0
7745 0 0 &CopyBlock($raf, $outfile, $size - $n) or $err = 1
7756 0 0 $self->WriteTrailerBuffer($trailInfo, $outfile) or $err = 1
7759 2 0 &Write($outfile, $$trailPt) or $err = 1
7908 3484 994 $tagTablePtr->{'PROCESS_PROC'} || \&Image::ExifTool::Exif::ProcessExif
7922 2591 1492 $dirInfo->{'Base'} || 0
8154 866 8 $parms{'Start'} || 0
8179 0 0 $parms{'Size'} || 0
0 0 $formatSize{$format} || 1
8345 1692 4327 $self->{'DUPL_TAG'}{$tag} || 0
8528 587 3 $mimeType || 'application/unknown'
8689 1325 745 $dirInfo->{'DirStart'} || 0
8691 1002 1068 $dirInfo->{'Base'} || 0
8694 853 1217 $dirInfo->{'DataPos'} || 0
8697 1344 726 $tagTablePtr->{'FORMAT'} || 'int8u'
8794 0 0 $formatSize{$format} || 1
8870 0 0 $formatSize{$format} || 1
8886 198 0 $formatSize{$format} || 1
8926 0 14 $subdir->{'Start'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
2108 0 0 58 $param eq 'Compact' || $param eq 'XMPShorthand'
2114 357 1 4397 $param =~ /^Charset/ or $param eq "IPTCCharset"
0 1 4093 $param eq "Compact" or $param eq "XMPShorthand"
2144 59 58 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName"
117 0 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName" or $param eq "CharsetRIFF"
2191 0 0 0 length $newVal or $force
2414 2 0 0 ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB'
2431 5 0 510 defined $_[0] or $options->{'HtmlDump'}
0 1 509 defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'}
2455 0 58 457 $req->{'now'} or $reqAll
2456 0 58 457 $req->{'newguid'} or $reqAll
2458 0 58 457 $req->{'filesequence'} or $reqAll
2460 0 58 457 $req->{'processingtime'} or $reqAll
2484 0 198 275 $req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2490 0 198 275 $req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2521 0 0 473 $filename eq "-" or $filename =~ /\|$/
2533 517 0 0 $raf or $isDir
2564 0 58 435 $options->{'SystemTags'} || $reqAll && !defined($options->{'SystemTags'})
2565 58 0 435 $sys or $req->{'fileattributes'}
2583 58 0 435 $sys or $req->{'filedevicenumber'}
2584 58 0 435 $sys or $req->{'fileinodenumber'}
2585 58 0 435 $sys or $req->{'filehardlinks'}
2586 58 0 435 $sys or $req->{'fileuserid'}
2587 58 0 435 $sys or $req->{'filegroupid'}
2588 58 0 435 $sys or $req->{'filedeviceid'}
2589 58 0 435 $sys or $req->{'fileblocksize'}
2590 58 0 435 $sys or $req->{'fileblockcount'}
2594 0 0 0 $reqAll > 1 || $req->{'macos:'}
2595 0 0 0 $reqMacOS || $req->{'filecreatedate'}
2596 0 0 0 $reqMacOS || $options->{'MDItemTags'} || grep(/^mditem/, keys %$req)
2597 0 0 0 $reqMacOS || $options->{'XAttrTags'} || grep(/^xattr/, keys %$req)
2598 0 0 0 $crDate or $mdItem
0 0 0 $crDate or $mdItem or $xattr
2606 0 0 517 $isDir or defined $stat[2] and ($stat[2] & 61440) == 16384
2660 519 2 1355 $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
2686 0 0 0 !$ext || $ext ne $type
2725 517 0 0 defined $type or $self->{'DOC_NUM'}
2735 0 0 0 length $buff < 16 or $buff =~ /[^\Q$ch\E]/
2784 1 92 145 $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
2860 0 0 517 not defined $type or exists $self->{'VALUE'}{'Error'}
2956 2 0 2 @$reqTags or $sort and $sort ne "Input"
2996 0 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
3003 0 0 411 $sort eq "Tag" or $sort eq "Alpha"
3020 0 0 409 $sort2 eq "Tag" or $sort2 eq "Alpha"
3048 1 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
3225 7489 9146 382 defined $val[$_] or not $tagInfo->{'Require'}{$_}
3372 10 22819 451 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3461 0 0 0 $ex && $ex->{'G0'} || $groups->{'0'}
3467 165 67338 0 $ex && $$ex{"G$family"} || $groups->{$family}
67161 342 28485 $family == 0 or $family == 2
3471 0 380 0 $ex && $ex->{'G0'} || $groups->{'0'}
3482 218 37 0 $ex->{'G5'} || $groups[1]
3490 36 43449 852 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3627 47015 1894 8843 $require->{$index} || $desire->{$index} || $inhibit->{$index}
3662 0 285 0 $cacheTag->[$doc] || "$reqTag (0)"
3682 1961 22937 0 $key || "$name (0)"
3844 904 0 0 !defined($desc) || $desc ne '0'
3882 0 0 0 &GetFileExtension($file) || uc $file
3886 0 0 0 &GetFileExtension($file) || uc $file
3903 0 23 0 &GetFileExtension($file) || uc $file
3905 23 0 0 $createTypes{$ext} or $createTypes{$type}
4074 29 1 153 $ch < 194 or $ch >= 248
4094 0 0 77 $ch == 224 and (ord $1 & 224) == 128 or $ch == 237 and (ord $1 & 224) == 160
0 0 77 $ch == 224 and (ord $1 & 224) == 128 or $ch == 237 and (ord $1 & 224) == 160 or $ch == 239 and ord $1 == 191 and (ord substr($1, 1) & 254) == 190
4099 0 0 75 $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143
0 0 75 $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143 or $ch > 244
4136 0 0 0 $file =~ /[\x80-\xff]/ or $force
4198 0 0 0 not defined $fd or $fd < 0
4340 22 1 19 ref $arg eq "SCALAR" or UNIVERSAL::isa($arg, "GLOB")
4366 0 0 22 eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@
4408 41 0 654 @exclude or $wasExcludeOpt
4474 0 0 15605 $grp eq "*" or $grp eq "all"
4507 1 5 63 @$list1 or @$list2
4543 682 6 2 $duplicates || $exclude || @groupOptions
4566 727 1 0 $doDups or defined $group
4570 137 0 1 $doDups or $allGrp
4581 3 0 0 $doDups or $allGrp
4600 184 35 15 @matches or not $allTag
4606 142 1 0 $doDups or $allTag
143 0 0 $doDups or $allTag or $allGrp
4643 41 27 622 $exclude || @groupOptions
4733 0 0 0 not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
4870 10 8 5 $post =~ /^[-+]?>/ or not $post =~ /\$/
4904 1 0 16 length $pre or length $post
1 0 16 length $pre or length $post or $v
5364 0 0 14994 $pack1d eq "\000\000\cO\363\000\000\000\000" || $pack1d eq "\000\000\360?\000\000\000\000"
5464 8 21 1330 defined $count or $size < $len
5522 700 76 313 ($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/
5585 76 0 123 $$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s
76 10 113 $$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s or $self->Options("IgnoreMinorErrors")
6095 26 0 407 $buff =~ /~\0\x04\0zmie~\0\0\x06.{4}[\x10\x18]\x04$/s or $buff =~ /~\0\x04\0zmie~\0\0\x0a.{8}[\x10\x18]\x08$/s
6329 225 0 8 not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
6364 229 1 1587 $marker == 217 || $marker == 218 && !$wantTrailer || $marker == 147
6413 229 0 232 $marker == 192 || $marker & 3
0 0 229 $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2
6465 1 2 0 $foundSOS or $self->{'FILE_TYPE'} eq "EXV"
6487 0 0 0 $start or $options->{'ExtractEmbedded'}
6495 0 0 0 $buff =~ /\xff\xd8\xff./g or $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
6554 1 0 2 $verbose or $htmlDump
6601 0 0 228 $trailInfo or $wantTrailer
0 1 227 $trailInfo or $wantTrailer or $verbose > 2
1 0 227 $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump
6604 0 0 228 $options->{'Validate'} or $calcImageLen
0 0 228 $options->{'Validate'} or $calcImageLen or $req->{'trailer'}
6612 0 0 1 $verbose > 2 or $htmlDump
6736 171 0 16 not $start or not $plen and $self->{'PreviewError'}
6740 0 0 0 $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'}
6835 68 0 0 $$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/
7217 63 0 19 $$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1
7255 0 35 10 $req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
7284 0 0 2 $reg == 0 || $reg == 65535
7295 0 0 1 $options->{'Unknown'} || $options->{'Validate'}
7330 1 0 0 $guid eq $readGuid or $readGuid eq 2
7434 0 0 1 $n or not $outfile
0 0 1 $n or not $outfile or $fileType ne "EXIF"
7449 341 53 0 $dirInfo->{'DirLen'} || length($$dataPt) - $dirStart
7523 0 0 13 $identifier == 20306 or $identifier == 21330
7550 38 0 0 ref $lookup or not $lookup
7553 37 0 1 $baseType eq 'TIFF' || $fileType =~ /RAW/
7561 227 174 76 not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq "EXIF"
7658 0 1 120 $fileType eq "ORF" or $identifier != 42
7743 0 0 0 &Write($outfile, scalar "\0" x ($extra - $size)) or $err = 1, last
7848 509 1 4002 $defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'}
7860 747 3665 0 $tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/
7918 4082 1 49 $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
8034 0 4 2061 $self->{'OPTIONS'}{'Verbose'} || $self->{'HTML_DUMP'} || $self->{'OPTIONS'}{'Validate'} && !$tagInfo->{'AddedUnknown'}
8044 807 38 4351 $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'}
8111 6080 2 22 defined $tagInfo->{'Name'} or $noPrefix
6082 0 22 defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'}
8117 13 1 6090 length $name < 2 or not $name =~ /^[A-Z]/i
8121 83 0 6021 defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID}
8141 1608 5651 2107 $parms{'TagInfo'} || $self->GetTagInfo($tagTablePtr, $tag, \$val, $pfmt, $parms{'Count'})
8153 5811 1377 71 defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
8160 78 25 771 $tagInfo->{'Format'} || $tagTablePtr->{'FORMAT'}
8229 162 585 0 $subdir->{'DirName'} || $tagInfo->{'Name'}
8242 747 0 0 &GetTagTable($subdir->{'TagTable'}) || $tagTablePtr
8243 59 35 653 $subdir->{'ProcessProc'} || $parms{'ProcessProc'}
8355 1002 1577 2532 $self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag}
2579 0 2532 $self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag} or $tag eq "Warning"
1577 2497 35 $self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag} or $tag eq "Warning" or not $self->{'TAG_EXTRA'}{$tag}{'G3'}
8364 0 0 4005 $self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
8375 2763 484 496 !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag} && $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'}
8515 4 0 6 $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
8520 570 0 20 $mimeType or $baseType eq "TIFF"
8564 8 0 0 $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
8602 0 0 0 $name->{'Name'} || $name->{'DirName'}
8606 22 0 22 $entries || defined $entries && !$size
8659 34 0 9 !$self->{'OPTIONS'}{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag}
8690 2038 32 0 $dirInfo->{'DirLen'} || length($$dataPt) - $offset
8750 1 0 261 $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
8809 2 168 15 $format eq "pstr32" or $format eq "ustr32"
8837 0 0 185 not defined $count or $count > $more
8841 0 168 14 $format eq "ustring" or $format eq "ustr32"
8885 198 0 0 not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
4511 0 154 0 79 $exclude->{$tag} xor $inv
4521 1019 235 3486 2124 $exclude->{$_} xor $inv