Condition Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
condition 902 1723 52.3


and 2 conditions

line l !l condition
3693 464 1 ref $_ and return $value
5278 692 29 $options->{$_} and push @groupOptions, $_
6416 10194 9 0 $desc =~ s/ (0x[\da-f]+)$//i and $tagID = $1
8316 19 0 $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1

and 3 conditions

line !l l&&!r l&&r condition
2380 5 4 530 ref $_[0] and UNIVERSAL::isa($_[0], "Image::ExifTool")
2426 23823 59 0 ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand'
2432 6051 0 8 $param eq "Exclude" and defined $newVal
2441 0 0 19 $langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal"
2598 59 0 0 $plus and defined $oldVal
2627 0 0 0 defined $oldVal and defined $newVal
2634 4779 59 0 $param eq "TimeZone" and defined $newVal
4838 0 0 $param eq "TimeZone" and defined $newVal and length $newVal
2636 60 5 0 defined $newVal and $newVal eq "XML"
60 0 5 defined $newVal and $newVal eq "HTML"
2713 549 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'
2766 61 0 0 not @startTime and $req->{'processingtime'}
2772 550 0 0 $req->{'imagedatahash'} and not $self->{'ImageDataHash'}
2797 0 0 505 defined $filename and $filename ne ""
2803 444 0 61 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2808 0 0 505 defined $dir and length $dir
2809 444 0 61 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2814 61 0 0 $^O eq "MSWin32" and $options->{'WindowsLongPath'}
2827 505 0 0 $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2829 505 0 0 $^O eq "MSWin32" and eval { do { require Win32API::File } }
2896 61 0 0 $^O eq "MSWin32" and defined $filename
61 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 "-"
2906 0 0 0 defined $wattr and $wattr != 4294967295
2921 552 0 0 $^O eq "darwin" and defined $filename
552 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
2929 0 0 0 $mdItem and $plainFile
2934 27 525 0 defined $stat[2] and ($stat[2] & 61440) == 16384
2948 45 195 312 defined $ext and not defined $Image::ExifTool::magicNumber{$ext}
240 310 2 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext}
505 2 0 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
2997 26 50 0 defined $moduleName{$type} and not $moduleName{$type}
3000 620 12 0 $weakMagic{$type} and defined $recognizedExt
3019 631 1 0 $fast > 2 and not $processType{$type}
3020 0 0 0 $weakMagic{$type} and !$ext || $ext ne $type
3105 0 0 0 defined $type && ($fast || $self->{'FoundXMP'})
549 0 0 $self->Options("ScanForXMP") and not defined $type && ($fast || $self->{'FoundXMP'})
3116 272 25 255 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16
297 159 96 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
3133 0 0 0 defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
3144 507 0 0 $rsize and $options->{'ExtractEmbedded'}
3169 0 52 4 $n and $n > 1
3214 0 175 539 @_ and not defined $_[0]
3274 110 51 231 @$wildTags and $i == $wildTags->[0]
3291 0 3 0 $sort and $sort ne "Input"
3331 0 0 0 $info and not $sort
3337 0 23 439 $sort and $sort ne "Input"
3454 44007 0 53 $tagInfo->{'Struct'} and ref $value
3492 71731 0 665 ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3505 21466 1812 2148 $type eq "Both" and $convType eq "PrintConv"
3551 22650 0 2978 ref $val eq "HASH" and not @val
3586 79 0 2 $tagInfo->{'PrintHex'} and $val
79 2 0 $tagInfo->{'PrintHex'} and $val and &IsInt($val)
2 0 0 $tagInfo->{'PrintHex'} and $val and &IsInt($val) and $convType eq "PrintConv"
3598 7436 0 306 $self->{'CUR_LANG'} and $convType eq "PrintConv"
7436 45 261 $self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH"
45 0 261 $self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH" and $tmp = $tmp->{'PrintConv'}
3603 261 0 0 $conv->{'BITMASK'} and not defined $conv->{$val}
3644 15 118 0 $nextConv and $nextConv eq "REPEAT"
3654 24340 0 125 $convList and ref $value eq "ARRAY"
3682 35166 5 442 $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3685 26 111 170 $type eq "PrintConv" and not $self->{'OPTIONS'}{'List'}
3709 0 2 23995 $tagInfo and defined $tagInfo->{'TagID'}
3738 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}
3797 82850 18486 103156 defined $family and $family ne -1
3804 2736 0 0 @families == 1 and $families[0] != 7
3814 128896 0 5523 $tag =~ /\((\d+)\)$/ && $1 ne '0'
3864 0 2736 2736 $simplify and @grps
2736 2720 16 $simplify and @grps and $grp eq $grps[-1]
3867 0 16 2720 $simplify and @grps > 1
16 2720 0 $simplify and @grps > 1 and $grps[0] eq "Main"
3959 41081 2799 208 $tagInfo->{'SubDoc'} && $self->{'DOC_COUNT'}
3975 58365 0 5241 $notBuilt{$reqTag} and not $inhibit->{$index}
4004 26646 699 2238 $reqGroup eq "Composite" and $notBuilt{$name}
4007 282 1485 471 $inhibit->{$index} and $allBuilt
4015 27813 1 2 $reqTag =~ /\b(File\d+):/i and $self->{'ALT_EXIFTOOL'}{$1}
4178 0 0 0 defined $desc and $desc eq 0
4186 0 0 0 defined $module and $module eq 0
4201 55 955 454 $fileType and not ref $fileType
4204 55 955 0 $fileType and !defined($desc) || $desc ne '0'
4206 0 0 0 $Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}
4219 267 688 0 defined $mod and $mod eq 0
4426 0 0 0 defined $coord[0] and defined $coord[1]
4448 3 0 1 defined $coord[0] and defined $coord[1]
4449 0 0 1 $ref[0] and $coord[0] > 0
0 1 0 $ref[0] and $coord[0] > 0 and $ref[0] eq "S"
4450 0 0 1 $ref[1] and $coord[1] > 0
0 0 1 $ref[1] and $coord[1] > 0 and $ref[1] eq "W"
4478 0 0 4 $cities and @$cities < 2 || $dist || !$self->Warn('Multiple Geolocation cities are possible', 2)
4520 10 516 24 $opts->{'Composite'} and !$opts->{'FastScan'} || $opts->{'FastScan'} < 5
4642 0 1 0 $trunc and $pos + $n > length $$strPt
4647 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
4652 75 0 0 $ch == 240 and (ord $1 & 240) == 128
75 0 0 $ch == 244 and ord $1 > 143
4697 0 0 0 not $enc and $^O eq "MSWin32"
4759 0 0 0 defined $self->{'LONG_PATH_IN'} and $self->{'LONG_PATH_IN'} eq $path
4817 730 0 0 $file =~ /\|$/ && $self->{'TRUST_PIPE'}
4883 231 0 0 -e $file && !(-p $file)
4901 0 0 0 $attrs and $attrs != 4294967295
0 0 0 $attrs and $attrs != 4294967295 and $attrs & $dirBit
4919 0 1 0 $dir and not $self->IsDirectory($dir)
4924 0 0 0 length $_ and not $self->IsDirectory($dir)
0 0 0 &IsPC() && $dir =~ m[^//[^/]*$]
0 0 0 length $_ and not $self->IsDirectory($dir) and not &IsPC() && $dir =~ m[^//[^/]*$]
5043 1420 0 171 ref $arg and not overload::Method($arg, "\"\"")
5057 1 160 28 @oldGroupOpts and $opt =~ /^Group/
5070 1 0 25 ref $arg eq "SCALAR" and $] >= "5.006"
1 25 0 ref $arg eq "SCALAR" and $] >= "5.006" and $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@
5145 0 0 0 $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
5148 0 1 0 $tmp =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $tmp
5307 974 0 15 $tag =~ s/#$// and $options->{'PrintConv'}
5308 792 191 6 defined $tagHash->{$reqTag} and not $doDups
5341 734 0 255 defined $group and not $allGrp
5394 648 0 72 $exclude || @groupOptions and @$rtnTags
5419 27 0 34 $group and @matches
5427 0 1 44 $duplicates and not @groupOptions
5470 1035 0 0 $wantTag and $wantTag < $wanted
5571 38 1 0 $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
5572 39 0 0 defined $noWarn and eval { do { $str =~ /$noWarn/ } }
5576 94 0 0 defined $noWarn and eval { do { $str =~ /$noWarn/ } }
5614 0 0 528 $tagList and @$tagList
5632 8 1134 31 not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s
5643 0 0 0 $p2 and /(.+:)(.+)/
5673 0 0 0 $pre and /(.+:)(.+)/
5738 5659 0 0 $override and not defined $tagInfo->{'Override'}
5860 252943 1 3039 $tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'}
5952 1302 0 0 $Image::ExifTool::swapWords and length $_[0] == 8
6250 27490 76 3132 $isRational{$format} and $ratPt
6292 5314 11 1164 $from ne $to and length $val
6296 0 0 1164 $cs1 and $cs2
0 0 1164 $cs1 and $cs2 and not $cs2 & 2
6453 12835 0 463 defined $filter and defined $$valPt
6469 0 9 0 $self->Filter($filter, \$_) and $rtnVal = 1
6473 0 0 0 $self->Filter($filter, \$val{$_}) and $rtnVal = 1
6505 0 0 0 $maxLen > 2048 and $verbose < 5
6528 0 0 8 $shift =~ s/^([-+])// && $1 eq '-'
6536 0 0 0 $g and @matches
6541 0 1 0 not @matches and $self->{'TAGS_FROM_FILE'}
1 0 0 not @matches and $self->{'TAGS_FROM_FILE'} and $self->{'OPTIONS'}{'RequestTags'}
6574 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 } }
6591 0 0 0 $frac =~ s/^(\d)// and $1 ne 0
6615 0 0 0 not $tz and eval { do { require Time::Local } }
6617 0 0 0 $tz and $tz =~ /^[-+]\d{2}:\d{2}$/
6621 0 0 0 $fmt =~ /%s/ and eval { do { require Time::Local } }
6645 0 0 3 &IsFloat($val) and $val != 0
6650 1 0 2 $mult && $mult >= 60
6651 2 0 1 $val == 60 && $mult
6739 0 1062 7 $dec =~ s/^(\d)// and $1 eq 1
6786 47 122 5 $tzStr and $tzStr =~ /^(\.\d+)/
6797 4 314 0 $et and $et->{'OPTIONS'}{'ByteUnit'} eq "Binary"
6852 19 0 17 $bitrate >= 1000 and @units
6891 368 0 48 length $str > $lim and $lim >= 5
6938 0 0 585 $raf->Seek(-$offset, 2) and ($len = $raf->Tell) > 0
6941 0 0 585 $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
7076 0 0 7 $dataPos and $dirLen
7083 0 0 7 $raf->Seek($dataPos) and $raf->Read(${$$dirInfo{"OutFile"};}, $dirLen) == $dirLen
7115 1 0 211 $result > 0 and $dirLen
7117 0 27 184 $dataPos and $self->{'TrailerStart'}
27 155 29 $dataPos and $self->{'TrailerStart'} and $dataPos <= $self->{'TrailerStart'}
7185 0 0 1180 $markerName and $markerName =~ /^([A-Z]+)\d+$/
7237 7 2 242 $self->{'FILE_TYPE'} =~ /^(JPEG|JP2)$/ and not $self->{'DOC_NUM'}
7242 0 0 251 $raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/
7245 0 0 0 $optionalTagTable and $s =~ /^\xff[\xe0-\xef]/
7249 0 0 2 $raf->Read($s, 5) == 5 and $s eq "Exiv2"
7254 209 42 0 $options->{'RequestAll'} and $options->{'RequestAll'} > 2
7257 6 2 0 $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
7265 250 0 0 $htmlDump and not $optionalTagTable
7284 271 1946 0 $marker and $marker < 0
7293 271 1945 1 $marker and $marker == 217 || $marker == 218 && !$wantTrailer && !$hash || $marker == 147
7313 271 0 0 $hash and defined $marker
271 0 0 $hash and defined $marker and $marker == 0 || $marker == 218 || $marker >= 208 && $marker <= 215
7317 0 0 1675 defined $len and $len >= 2
7326 0 0 0 defined $len and $len >= 4
7352 1946 0 0 $skipped and not $foundSOS
1946 0 0 $skipped and not $foundSOS and $markerName ne "SOS"
7363 1449 250 247 ($marker & 240) == 192 and $marker == 192 || $marker & 3
1180 0 248 $marker == 219 and length $$segDataPt
1180 248 0 $marker == 219 and length $$segDataPt and $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2
7382 0 0 247 $n == 3 and $length >= 15
7402 0 0 247 $hmin and $vmin
7412 23 0 0 $htmlDump and $dumpEnd
7447 0 0 0 $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
7452 0 0 0 $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
7469 0 0 0 $start and $start ne $actual
0 0 0 $start and $start ne $actual and $verbose > 1
7478 0 0 0 $self->{'PreviewError'} and $self->{'PreviewImageLength'}
7479 0 0 0 $raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'})
7573 217 0 29 $trailInfo and $verbose < 3
217 0 29 $trailInfo and $verbose < 3 and not $htmlDump
7578 246 0 0 $wantTrailer and $self->{'PreviewImageStart'}
7582 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]/
7591 246 0 0 $self->{'VALUE'}{'HiddenDataOffset'} and $self->{'VALUE'}{'HiddenDataLength'}
0 0 0 $self->{'VALUE'}{'HiddenDataOffset'} and $self->{'VALUE'}{'HiddenDataLength'} and $options->{'Validate'} || $req->{'hiddendata'}
7611 1 0 0 $hash and $self->{'FILE_TYPE'} eq "JP2"
7620 0 0 0 $verbose and $marker
7621 0 0 0 $verbose < 4 and ($marker & 248) == 208
7693 72 0 1 $$segDataPt =~ /^FLIR\0/ and $length >= 8
7718 180 23 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/
7739 0 0 0 $self->{'VALUE'}{'UserComment'} && $self->{'VALUE'}{'UserComment'} =~ /^filter:/
203 0 0 $self->{'Make'} eq "vivo" and not $self->{'VALUE'}{'UserComment'} && $self->{'VALUE'}{'UserComment'} =~ /^filter:/
203 0 0 $self->{'Make'} eq "vivo" and not $self->{'VALUE'}{'UserComment'} && $self->{'VALUE'}{'UserComment'} =~ /^filter:/ and $$dataPt =~ /(filter: .*?; \n)\0/gs
7756 12 4 0 not $plen and $self->{'PreviewError'}
7760 187 4 12 $start and $plen
191 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'}
7833 0 1 0 defined $_ and $flir .= $_
7864 0 72 0 $processed and not $start
7868 72 0 0 $verbose and not $processed
7873 87 0 34 $$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14
7898 34 34 0 defined $_ and $icc_profile .= $_
7920 2 19 46 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
7952 121 0 0 $preview and $nextMarker ne $marker
8003 21 0 0 $preview and $nextMarker ne 228
8008 1 0 0 $$segDataPt =~ /^SCALADO\0/ and $length >= 16
1 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^\xaa\x55\x12\x06/
1 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^(.{32})?.{32}\x2c\x01\x20\0/s
1 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^.{32}\xaa\x55\x38\0/s
0 0 1 $self->{'HasIJPEG'} and $length >= 120
8037 0 0 0 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
8066 1 0 0 $preview and $nextMarker ne 229
8071 0 0 1 $self->{'HasIJPEG'} and $length >= 38
8097 2 0 0 $$segDataPt =~ /^TDHD\x01\0\0\0/ and $length > 12
0 0 1 $self->{'HasIJPEG'} and $length >= 129
8136 0 0 1 $self->{'HasIJPEG'} and $length >= 32
8189 1 0 19 $$segDataPt =~ /^SPIFF\0/ and $length == 32
0 0 1 $self->{'HasIJPEG'} and $length >= 32
8205 1 0 19 $$segDataPt =~ /^Media Jukebox\0/ and $length > 22
0 0 1 $self->{'HasIJPEG'} and $length >= 768
8233 0 0 19 $$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16
8244 0 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /
8270 19 0 0 $len == 1 and length $$segDataPt >= 24
8278 19 0 0 defined $jumbfChunk{$type}[$seq] and length $jumbfChunk{$type}[$seq]
8325 47 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/
8354 29 1 15 $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
8367 0 0 19 $$segDataPt =~ /^Q\s*(\d+)/ and $length == 4
8401 1168 1 0 not $dumpType and $options->{'Unknown'} || $options->{'Validate'}
8415 250 0 0 $hashsize and $verbose
8496 38 6 411 $dataPt and length $$dataPt
8532 409 2 0 $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
8541 0 45 0 $dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS"
8565 210 286 0 $fileType eq "APP1" and $identifier != 42
8576 3 20 17 $identifier == 42 and $offset >= 16
20 0 3 $identifier == 85 and $fileType =~ /^(RAW|RW2|RWL|TIFF)$/
8593 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"
8604 13 0 0 $byteOrder eq "II" and ($identifier & 255) == 188
8631 0 2 38 $fileType and not $self->{'VALUE'}{'FileType'}
8640 13 27 0 not $outfile and $self->{'OPTIONS'}{'FastScan'}
27 0 0 not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} > 2
8643 300 178 18 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/
8697 27 0 0 $self->{'HTML_DUMP'} and $self->{'KnownTrailer'}
8706 368 0 2 $self->{'DNGVersion'} and $self->{'FILE_TYPE'} eq "TIFF"
368 2 0 $self->{'DNGVersion'} and $self->{'FILE_TYPE'} eq "TIFF" and not $self->{'FileType'} =~ /^(DNG|GPR)$/
8710 360 0 0 $self->{'TIFF_TYPE'} eq "NRW" and $self->{'VALUE'}{'NEFLinearizationTable'}
8716 370 0 0 $self->{'ImageDataHash'} and $self->{'A100DataOffset'}
0 0 0 $self->{'ImageDataHash'} and $self->{'A100DataOffset'} and $raf->Seek($self->{'A100DataOffset'}, 0)
8761 5 0 0 $pi and $pi->{'Fixup'}
8763 117 0 0 $self->{'TIFF_TYPE'} eq "ARW" and not $err
8776 113 0 10 ref $dirInfo{'ImageData'} and not $err
8786 113 1 12 $raf and $tiffEnd
114 0 12 $raf and $tiffEnd and not $err
8811 8 3 1 $extra > 0 and $tiffEnd & 1
8814 0 0 1 defined $buf and $buf eq "\0"
8818 3 0 0 $self->{'DEL_GROUP'}{'Trailer'} and not $known
8858 0 0 1 $ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.7"
8926 1423 2404 995 $defaultGroups->{'0'} and $defaultGroups->{'1'}
8958 4189 631 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
631 0 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite
8973 95992 0 1414 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'}
95992 1272 142 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined
1272 142 0 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
8994 0 0 5229 $tagTablePtr and $dirInfo
9006 200 561 4468 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'}
761 4467 1 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
9011 4419 0 0 $self->{'PROCESSED'}{$addr} and not $dirInfo->{'NotDup'}
9014 0 0 0 $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
9016 4053 366 0 $tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'ALLOW_REPROCESS'}
9055 93 49 1897 $filename and $filename =~ /^.*\.([^.]+)$/s
9112 7663 5926 695 $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
9124 105433 987 2241 $tagInfo->{'Unknown'} and not $options->{'Unknown'}
106420 199 2042 $tagInfo->{'Unknown'} and not $options->{'Unknown'} and !$self->{'IsWriting'} || $tagInfo->{'AddedUnknown'}
199 85 1957 $tagInfo->{'Unknown'} and not $options->{'Unknown'} and !$self->{'IsWriting'} || $tagInfo->{'AddedUnknown'} and not $options->{'Verbose'} || $self->{'HTML_DUMP'} || $options->{'Validate'} && !$tagInfo->{'AddedUnknown'}
9135 0 4500 866 not $tagInfo and $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'}
4500 137 729 not $tagInfo and $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'} and $tagID =~ /^\d+$/
4637 140 589 not $tagInfo and $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}
9194 5479 1 1744 defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'}
9240 7574 2195 0 not $tagInfo and defined $tagInfo
9769 0 0 not $tagInfo and defined $tagInfo and $dataPt
9266 890 0 577 $subdir and not $tagInfo->{'Writable'}
890 0 577 $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
9272 0 0 890 $start >= 0 and $start + $size <= $dLen
9274 107 452 331 not $format and $pfmt
559 0 331 not $format and $pfmt and $formatSize{$pfmt}
9304 740 12 0 $tagInfo->{'MakerNotes'} and $self->{'OPTIONS'}{'FastScan'}
12 0 0 $tagInfo->{'MakerNotes'} and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} > 1
9309 751 0 1 $tagInfo->{'RawConv'} and not $tagInfo->{'Writable'}
9358 0 0 1 $num & 65280 and $num >> 8 > ($num & 255)
9412 2099 52991 55 not defined $priority and $tagInfo->{'Avoid'}
9427 8086 0 1840 ref $value eq "HASH" and $tagInfo->{'IsComposite'}
9493 603 3247 411 $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
9496 96 159 1879 not $priority and $self->{'DIR_NAME'}
159 1839 40 not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
9504 2388 519 3488 $priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'}
1001 53 2953 $priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'} and not $noListDel
9556 56734 116 1231 $tagInfo->{'List'} and not $self->{'NO_LIST'}
56850 65 1166 $tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel
9563 57846 22 213 $options->{'Validate'} and not ref $value
9632 627 0 49 $self->{'FileType'} and not $self->{'DOC_NUM'}
9637 44 308 275 defined $ext and $ext ne $fileType
352 0 275 defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'}
9639 15 247 13 ref $f eq "ARRAY" and ref $e eq "ARRAY"
262 3 10 ref $f eq "ARRAY" and ref $e eq "ARRAY" and $f->[0] eq $e->[0]
9666 0 6 12 defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'}
9711 12488 0 4 $self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level
9735 11 22 11 $byteOrder and $self->{'OPTIONS'}{'Verbose'} > 2
9749 1666 0 0 $verbose and $verbose > 2
9790 9 0 34 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $options->{'Verbose'}
9 2 32 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $options->{'Verbose'} and not $options->{'Validate'}
2 0 32 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $options->{'Verbose'} and not $options->{'Validate'} and not $self->{'REQ_TAG_LOOKUP'}{$lcTag}
9797 0 5 10 $self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length
9801 0 5 0 $isPreview and not $self->{'BuildingComposite'}
9841 2223 0 0 $unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}
9868 0 0 0 $topIndex and $$tagTablePtr{$index - $topIndex}
9886 17373 262 0 $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
9938 0 0 0 $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
9995 367 1 0 $varSize != $oldVarSize and $verbose > 2
10013 17330 0 0 $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
10015 17145 0 185 defined $val and not $tagInfo->{'SubDirectory'}
10021 17132 0 198 $verbose and not $tagInfo->{'Hidden'}
10045 2 0 12 $tagInfo->{'Format'} and $formatSize{$format}
10050 0 0 2 $subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData
10072 0 0 0 $len and $len <= $dataLen - $start
10091 17278 0 38 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3

or 2 conditions

line l !l condition
2332 508 0 ref $that || $that || 'Image::ExifTool'
2707 2 550 $options->{'FastScan'} || 0
2709 61 491 $options->{'RequestAll'} || 0
3063 0 3 &GetFileType($realname) || ''
3131 0 0 $self->{'FIRST_EXIF_POS'} || 0
3237 2 35 $nonVal{$_} || 0
3261 714 0 $self->{'REQUESTED_TAGS'} || []
3342 0 436 $1 || 0
3421 0 0 $self->{'DUPL_TAG'}{$tg} || 0
3733 254 9 $desc = $desc->{'Description'} or last
3739 0 0 $desc = $desc->{'Description'} or last
3780 74781 0 $self->{'TAG_INFO'}{$tag} || {}
3781 74781 0 $self->{'TAG_EXTRA'}{$tag} || {}
3787 39102 0 $tagInfo->{'Table'} || {'GROUPS', {}}
3792 109598 0 $tagTablePtr->{'GROUPS'}{$_} || ''
3840 255 96745 defined $groups[$_] or $groups[$_] = ""
3844 30727 0 $groups[$family] || ''
3849 0 42 $1 || '1'
3960 37974 6114 $tagInfo->{'Require'} || {}
3961 19301 24787 $tagInfo->{'Desire'} || {}
3962 2719 41369 $tagInfo->{'Inhibit'} || {}
3980 0 0 $2 || 0
3990 0 304 $self->{'DUPL_TAG'}{$reqTag} || 0
3998 0 0 $self->{'TAG_EXTRA'}{$_}{'G3'} or 0
4022 536 27280 $et->{'DUPL_TAG'}{$name} || 0
4780 0 0 $self->{'OPTIONS'}{'CharsetFileName'} || 'UTF8'
4900 0 0 eval { do { Win32API::File::FILE_ATTRIBUTE_DIRECTORY() } } || 0
5253 8 0 $et->{'TAG_EXTRA'}{$tag} || {}
5254 8 0 $et->{'FILE_ORDER'}{$tag} || 0
5272 720 0 $self->{'REQUESTED_TAGS'} || []
5352 0 0 $et->{'PRIORITY'}{$tag} || 1
5358 0 0 $priority || 1
5436 20 9 $1 || 0
5744 0 364 $tagInfo->{'Override'} || 0
0 364 $$compTable{$compositeID{$tagID}[0]}{'Override'} || 0
6732 0 1059 $Image::ExifTool::static_vars{'SystemTimeRes'} || 0
6990 0 78 $dirInfo->{'Offset'} || 0
7221 2 249 $options->{'FastScan'} || 0
7530 2 0 $self->{'VALUE'}{'HasExtendedXMP'} || ''
7532 2 0 $options->{'ExtendedXMP'} || 0
8489 446 56 $dirInfo->{'Parent'} || ''
8491 378 124 $dirInfo->{'Base'} || 0
8525 373 38 $dirInfo->{'DirStart'} || 0
8996 3746 1054 $tagTablePtr->{'PROCESS_PROC'} || \&Image::ExifTool::Exif::ProcessExif
9010 2905 1514 $dirInfo->{'Base'} || 0
9241 0 0 $parms{'Start'} || 0
9267 873 17 $parms{'Start'} || 0
9297 0 0 $parms{'Size'} || 0
0 0 $formatSize{$format} || 1
9476 1784 4611 $self->{'DUPL_TAG'}{$tag} || 0
9655 624 3 $mimeType || 'application/unknown'
9822 1372 851 $dirInfo->{'DirStart'} || 0
9825 1143 1080 $dirInfo->{'Base'} || 0
9828 862 1361 $dirInfo->{'DataPos'} || 0
9832 1441 782 $tagTablePtr->{'FORMAT'} || 'int8u'
9930 0 0 $formatSize{$format} || 1
10007 0 0 $formatSize{$format} || 1
10023 198 0 $formatSize{$format} || 1
10063 0 14 $subdir->{'Start'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
2426 0 0 59 $param eq 'Compact' || $param eq 'XMPShorthand'
2432 363 1 5687 $param =~ /^Charset/ or $param eq "IPTCCharset"
0 1 5317 $param eq "Compact" or $param eq "XMPShorthand"
59 59 4963 $param eq "KeepUTCTime" or $param eq "SystemTimeRes"
2462 60 59 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName"
119 0 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName" or $param eq "CharsetRIFF"
2509 0 0 0 length $newVal or $force
2713 2 0 0 ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB'
2730 11 0 539 defined $_[0] or $options->{'HtmlDump'}
0 1 538 defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'}
2759 0 61 489 $req->{'now'} or $reqAll
2760 0 61 489 $req->{'newguid'} or $reqAll
2762 0 61 489 $req->{'filesequence'} or $reqAll
2764 0 61 489 $req->{'processingtime'} or $reqAll
2803 0 206 299 $req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2809 0 206 299 $req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2846 0 0 505 $filename eq "-" or $filename =~ /\|$/
2860 552 0 0 $raf or $isDir
2892 0 61 464 $options->{'SystemTags'} || $reqAll && !defined($options->{'SystemTags'})
2893 61 0 464 $sys or $req->{'fileattributes'}
2911 61 0 464 $sys or $req->{'filedevicenumber'}
2912 61 0 464 $sys or $req->{'fileinodenumber'}
2913 61 0 464 $sys or $req->{'filehardlinks'}
2914 61 0 464 $sys or $req->{'fileuserid'}
2915 61 0 464 $sys or $req->{'filegroupid'}
2916 61 0 464 $sys or $req->{'filedeviceid'}
2917 61 0 464 $sys or $req->{'fileblocksize'}
2918 61 0 464 $sys or $req->{'fileblockcount'}
2922 0 0 0 $reqAll > 1 || $req->{'macos:'}
2923 0 0 0 $reqMacOS || $req->{'filecreatedate'}
2924 0 0 0 $reqMacOS || $options->{'MDItemTags'} || grep(/^mditem/, keys %$req)
2925 0 0 0 $reqMacOS || $options->{'XAttrTags'} || grep(/^xattr/, keys %$req)
2926 0 0 0 $crDate or $mdItem
0 0 0 $crDate or $mdItem or $xattr
2934 0 0 552 $isDir or defined $stat[2] and ($stat[2] & 61440) == 16384
2994 554 2 1745 $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
3020 0 0 0 !$ext || $ext ne $type
3059 0 549 3 $err or defined $type
549 0 3 $err or defined $type or $self->{'DOC_NUM'}
3068 0 0 0 length $buff < 16 or $buff =~ /[^\Q$ch\E]/
3116 1 95 159 $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
3190 3 0 549 not defined $type or exists $self->{'VALUE'}{'Error'}
3291 7 0 3 @$reqTags or $sort and $sort ne "Input"
3332 0 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
3339 0 0 439 $sort eq "Tag" or $sort eq "Alpha"
3356 0 0 436 $sort2 eq "Tag" or $sort2 eq "Alpha"
3384 1 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
3562 7632 9314 385 defined $val[$_] or not $tagInfo->{'Require'}{$_}
3710 25 23505 465 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3800 0 0 0 $ex->{'G0'} || $groups->{'0'}
3806 182 69511 0 $$ex{"G$family"} || $groups->{$family}
69351 342 30727 $family == 0 or $family == 2
3810 0 380 0 $ex->{'G0'} || $groups->{'0'}
3820 218 37 0 $ex->{'G5'} || $groups[1]
3831 105 47411 984 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3969 50322 2026 9508 $require->{$index} || $desire->{$index} || $inhibit->{$index}
4001 0 304 0 $cacheTag->[$doc] || "$reqTag (0)"
4031 2162 25654 0 $key || "$name (0)"
4204 955 0 0 !defined($desc) || $desc ne '0'
4212 0 0 0 $fileDescription{$file} || $file
4243 0 0 0 &GetFileExtension($file) || uc $file
4247 0 0 0 &GetFileExtension($file) || uc $file
4264 0 24 0 &GetFileExtension($file) || uc $file
4266 24 0 0 $createTypes{$ext} or $createTypes{$type}
4391 0 0 0 $digest eq "d41d8cd98f00b204e9800998ecf8427e" or $digest eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
0 0 0 $digest eq "d41d8cd98f00b204e9800998ecf8427e" or $digest eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" or $digest eq "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
4478 4 0 0 @$cities < 2 || $dist || !$self->Warn('Multiple Geolocation cities are possible', 2)
4520 539 1 0 !$opts->{'FastScan'} || $opts->{'FastScan'} < 5
4627 44 1 153 $ch < 194 or $ch >= 248
4647 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
4652 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
4706 0 0 1198 $hasSpecialChars or $force
0 1198 0 $hasSpecialChars or $force or $self->{'OPTIONS'}{'WindowsLongPath'}
1198 0 0 $hasSpecialChars or $force or $self->{'OPTIONS'}{'WindowsLongPath'} or $self->{'OPTIONS'}{'WindowsWideFile'}
4753 0 0 0 not length $path or $path =~ m([:./\\]$)
4824 0 0 0 $mode eq ">" or $mode eq ">>"
4850 0 0 0 not defined $fd or $fd < 0
5044 25 1 19 ref $arg eq "SCALAR" or UNIVERSAL::isa($arg, "GLOB")
5070 0 0 25 $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@
5075 0 0 0 $self->{'OPTIONS'}{'EncodeHangs'} || $@
5114 45 0 680 @exclude or $wasExcludeOpt
5184 0 0 18951 $grp eq "*" or $grp eq "all"
5217 1 5 67 @$list1 or @$list2
5279 708 6 6 $duplicates || $exclude || @groupOptions
5297 6 0 0 $self->{'ALT_EXIFTOOL'}{$g8} || $self
5308 739 9 62 $doDups or defined $group
5312 163 0 1 $doDups or $allGrp
5324 9 0 0 $doDups or $allGrp
5344 193 42 20 @matches or not $allTag
5350 161 1 0 $doDups or $allTag
162 0 0 $doDups or $allTag or $allGrp
5394 45 27 648 $exclude || @groupOptions
5484 0 0 0 not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
5634 10 13 8 $post =~ /^[-+]?>/ or not $post =~ /\$/
5668 1 0 16 length $pre or length $post
1 0 16 length $pre or length $post or $v
6139 0 0 16139 $pack1d eq "\000\000\cO\363\000\000\000\000" || $pack1d eq "\000\000\360?\000\000\000\000"
6240 8 21 1388 defined $count or $size < $len
6298 731 93 340 ($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/
6361 74 0 134 $$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s
74 10 124 $$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s or $self->Options("IgnoreMinorErrors")
6400 0 1 38960 length $name < 2 or $name =~ /^[-0-9]/
6942 26 0 426 $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
7012 47 185 0 {'Insta360', 'QuickTimeStream.pl', 'NikonApp', 'Nikon.pm', 'Vivo', 'Trailer.pm', 'OnePlus', 'Trailer.pm', 'Google', 'Trailer.pm'}->{$dirName} || "$dirName.pm"
7076 0 0 7 $self->{'DEL_GROUP'}{'Trailer'} or $self->{'DEL_GROUP'}{$dirName}
7257 243 0 8 not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
7293 247 1 1675 $marker == 217 || $marker == 218 && !$wantTrailer && !$hash || $marker == 147
7313 0 0 0 $marker == 0 || $marker == 218 || $marker >= 208 && $marker <= 215
7363 247 0 250 $marker == 192 || $marker & 3
0 0 247 $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2
7372 0 0 247 $length < 6 or $gotSize
7417 21 2 0 $foundSOS or $self->{'FILE_TYPE'} eq "EXV"
7439 0 0 0 $start or $options->{'ExtractEmbedded'}
7447 0 0 0 $buff =~ /\xff\xd8\xff./g or $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
7506 1 0 22 $verbose or $htmlDump
7548 2 0 0 $guid eq $readGuid or $readGuid eq 2
7591 0 0 0 $options->{'Validate'} || $req->{'hiddendata'}
0 0 246 $options->{'ExtractEmbedded'} or $self->{'VALUE'}{'HiddenDataOffset'} and $self->{'VALUE'}{'HiddenDataLength'} and $options->{'Validate'} || $req->{'hiddendata'}
7600 20 0 226 $trailInfo or $wantTrailer
20 1 225 $trailInfo or $wantTrailer or $verbose > 2
1 0 225 $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump
7603 0 0 226 $options->{'Validate'} or $calcImageLen
0 0 226 $options->{'Validate'} or $calcImageLen or $req->{'trailer'}
0 0 226 $options->{'Validate'} or $calcImageLen or $req->{'trailer'} or $hash
7616 0 0 1 $verbose > 2 or $htmlDump
7756 187 0 16 not $start or not $plen and $self->{'PreviewError'}
7760 0 0 0 $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'}
7855 72 0 0 $$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/
7957 1 0 0 $self->{'HasIJPEG'} or $self->{'Make'} eq "DJI"
8316 66 0 19 $$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1
8354 0 34 11 $req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
8383 0 0 2 $reg == 0 || $reg == 65535
8401 0 0 1 $options->{'Unknown'} || $options->{'Validate'}
8511 0 0 1 $n or not $outfile
0 0 1 $n or not $outfile or $fileType ne "EXIF"
8526 357 54 0 $dirInfo->{'DirLen'} || length($$dataPt) - $dirStart
8527 411 0 0 $dirLen > 0 or not $outfile
8604 0 0 13 $identifier == 20306 or $identifier == 21330
8633 38 0 0 ref $lookup or not $lookup
8636 37 0 1 $baseType eq 'TIFF' || $fileType =~ /RAW/
8644 243 177 76 not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq "EXIF"
8750 0 1 122 $fileType eq "ORF" or $identifier != 42
8836 0 0 0 &Write($outfile, scalar "\0" x ($extra - $size)) or $err = 1, last
8838 0 0 0 &CopyBlock($raf, $outfile, $size - $n) or $err = 1
8849 0 0 0 $self->WriteTrailerBuffer($trailInfo, $outfile) or $err = 1
8852 2 0 0 &Write($outfile, $$trailPt) or $err = 1
8936 547 1 4274 $defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'}
8948 784 3904 0 $tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/
9006 4418 1 49 $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
9124 1998 44 199 !$self->{'IsWriting'} || $tagInfo->{'AddedUnknown'}
0 4 1957 $options->{'Verbose'} || $self->{'HTML_DUMP'} || $options->{'Validate'} && !$tagInfo->{'AddedUnknown'}
9135 38 0 4500 $options->{'Unknown'} || $options->{'Verbose'} || $self->{'HTML_DUMP'}
9203 6708 2 514 defined $tagInfo->{'Name'} or $noPrefix
6710 0 514 defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'}
9209 13 0 7211 length $name < 2 or not $name =~ /^[A-Z]/i
9213 67 0 7157 defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID}
9235 1611 5963 2195 $parms{'TagInfo'} || $self->GetTagInfo($tagTablePtr, $tag, $valPt, $pfmt, $parms{'Count'})
9257 0 0 0 length $name < 2 or $name =~ /^[-0-9]/
9266 6107 1392 75 defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
9273 82 25 783 $tagInfo->{'Format'} || $tagTablePtr->{'FORMAT'}
9351 165 587 0 $subdir->{'DirName'} || $tagInfo->{'Name'}
9364 752 0 0 &GetTagTable($subdir->{'TagTable'}) || $tagTablePtr
9365 59 35 658 $subdir->{'ProcessProc'} || $parms{'ProcessProc'}
9418 0 0 0 $grps[$_] || $tagInfo->{'Groups'}{$_} || $tagInfo->{'Table'}{'GROUPS'}{$_}
9419 0 0 0 $options->{'IgnoreGroups'}{$g} or $options->{'IgnoreGroups'}{"$_$g"}
9486 1041 15 4348 $self->{'DOC_NUM'} or $tag eq "Warning"
1056 4313 35 $self->{'DOC_NUM'} or $tag eq "Warning" or not $self->{'TAG_EXTRA'}{$tag}{'G3'}
9493 0 0 4261 $self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
9504 2988 500 519 !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'}
9641 4 0 6 $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
9646 606 0 21 $mimeType or $baseType eq "TIFF"
9691 8 0 0 $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
9729 0 0 0 $name->{'Name'} || $name->{'DirName'}
9733 22 0 22 $entries || defined $entries && !$size
9790 34 0 9 !$options->{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag}
9830 33 0 2190 not defined $size or $size > $maxLen
9886 1 0 261 $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
9945 2 168 15 $format eq "pstr32" or $format eq "ustr32"
9973 0 0 185 not defined $count or $count > $more
9977 0 168 14 $format eq "ustring" or $format eq "ustr32"
10022 198 0 0 not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}
10070 0 0 0 $start < $dirStart or $start > $dataLen

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
4052 1 1 72 37006 $requireAlt xor $altOnly
5221 0 150 0 79 $exclude->{$tag} xor $inv
5231 1019 283 3486 2162 $exclude->{$_} xor $inv