Condition Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
condition 771 1400 55.0


and 2 conditions

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

and 3 conditions

line !l l&&!r l&&r condition
2057 5 4 497 ref $_[0] and UNIVERSAL::isa($_[0], "Image::ExifTool")
2101 20337 58 0 ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand'
2107 4697 0 7 $param eq "Exclude" and defined $newVal
2116 0 0 18 $langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal"
2244 3912 58 0 $param eq "TimeZone" and defined $newVal
3970 0 0 $param eq "TimeZone" and defined $newVal and length $newVal
2246 59 5 0 defined $newVal and $newVal eq "XML"
59 0 5 defined $newVal and $newVal eq "HTML"
2392 510 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'
2440 58 0 0 not @startTime and $req->{'processingtime'}
2456 0 0 469 defined $filename and $filename ne ""
2462 411 0 58 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2467 0 0 469 defined $dir and length $dir
2468 411 0 58 $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2480 469 0 0 $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2482 469 0 0 $^O eq "MSWin32" and eval { do { require Win32API::File } }
2546 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 "-"
2556 0 0 0 defined $wattr and $wattr != 4294967295
2571 513 0 0 $^O eq "darwin" and defined $filename
513 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
2579 0 0 0 $mdItem and $plainFile
2584 24 489 0 defined $stat[2] and ($stat[2] & 61440) == 16384
2596 42 182 289 defined $ext and not defined $Image::ExifTool::magicNumber{$ext}
224 287 2 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext}
469 2 0 defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
2605 0 0 0 $fast == 4 and $options->{'Composite'}
2641 9 27 0 defined $moduleName{$type} and not $moduleName{$type}
2644 544 9 0 $weakMagic{$type} and defined $recognizedExt
2663 552 1 0 $fast == 3 and not $processType{$type}
2664 0 0 0 $weakMagic{$type} and !$ext || $ext ne $type
2751 0 0 0 defined $type && ($fast || $self->{'FoundXMP'})
513 0 0 $self->Options("ScanForXMP") and not defined $type && ($fast || $self->{'FoundXMP'})
2762 253 25 235 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16
278 142 93 defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
2780 0 0 0 defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
2791 471 0 0 $rsize and $options->{'ExtractEmbedded'}
2808 512 0 1 $options->{'Validate'} and not $reEntry
2857 0 177 506 @_ and not defined $_[0]
2917 110 49 197 @$wildTags and $i == $wildTags->[0]
2934 0 2 0 $sort and $sort ne "Input"
2973 0 0 0 $info and not $sort
2979 0 18 407 $sort and $sort ne "Input"
3095 42504 0 53 $tagInfo->{'Struct'} and ref $value
3133 69332 0 646 ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3146 20764 1725 2026 $type eq "Both" and $convType eq "PrintConv"
3192 21848 0 2861 ref $val eq "HASH" and not @val
3227 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"
3239 7253 0 289 $self->{'CUR_LANG'} and $convType eq "PrintConv"
7253 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'}
3244 244 0 0 $conv->{'BITMASK'} and not defined $conv->{$val}
3285 15 117 0 $nextConv and $nextConv eq "REPEAT"
3295 23455 0 124 $convList and ref $value eq "ARRAY"
3323 33951 5 442 $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3326 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]
3349 0 2 23145 $tagInfo and defined $tagInfo->{'TagID'}
3378 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}
3436 76023 15145 98337 defined $family and $family ne -1
3443 2736 0 0 @families == 1 and $families[0] != 7
3501 0 2736 2736 $simplify and @grps
2736 2720 16 $simplify and @grps and $grp eq $grps[-1]
3504 0 16 2720 $simplify and @grps > 1
16 2720 0 $simplify and @grps > 1 and $grps[0] eq "Main"
3595 36715 2617 195 $tagInfo->{'SubDoc'} && $self->{'DOC_COUNT'}
3611 53703 0 4883 $notBuilt{$reqTag} and not $inhibit->{$index}
3643 23794 655 2076 $reqGroup eq "Composite" and $notBuilt{$name}
3646 264 1376 436 $inhibit->{$index} and $allBuilt
3796 0 0 0 defined $desc and $desc eq 0
3804 0 0 0 defined $module and $module eq 0
3819 49 894 428 $fileType and not ref $fileType
3822 49 894 0 $fileType and !defined($desc) || $desc ne '0'
3824 0 0 0 $Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}
3837 249 645 0 defined $mod and $mod eq 0
4058 1123 0 0 $^O eq "MSWin32" and $file =~ /[\x80-\xff]/
1123 0 0 $^O eq "MSWin32" and $file =~ /[\x80-\xff]/ and not defined $enc
4096 681 0 0 $file =~ /\|$/ && $self->{'TRUST_PIPE'}
4157 218 0 0 -e $file && !(-p $file)
4173 0 0 0 $attrs and $attrs != 4294967295
0 0 0 $attrs and $attrs != 4294967295 and $attrs & $dirBit
4265 1333 0 153 ref $arg and not overload::Method($arg, "\"\"")
4279 171 0 0 @oldGroupOpts and $opt =~ /^Group/
4292 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) } } || $@
4364 0 0 0 $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
4366 0 1 0 $id =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $id
4491 848 0 15 $tag =~ s/#$// and $options->{'PrintConv'}
4492 674 189 0 defined $tagHash->{$reqTag} and not $doDups
4523 629 0 234 defined $group and not $allGrp
4569 615 0 68 $exclude || @groupOptions and @$rtnTags
4594 27 0 30 $group and @matches
4602 0 1 40 $duplicates and not @groupOptions
4645 976 0 0 $wantTag and $wantTag < $wanted
4728 30 1 0 $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
4742 32 16 0 $ignorable and $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4776 0 0 501 $tagList and @$tagList
4794 7 988 23 not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s
4805 0 0 0 $p2 and /(.+:)(.+)/
4835 0 0 0 $pre and /(.+:)(.+)/
4900 5063 0 0 $override and not defined $tagInfo->{'Override'}
5022 218558 1 3024 $tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'}
5103 1298 0 0 $Image::ExifTool::swapWords and length $_[0] == 8
5400 26078 76 2988 $isRational{$format} and $ratPt
5442 5062 7 1089 $from ne $to and length $val
5446 0 0 1089 $cs1 and $cs2
0 0 1089 $cs1 and $cs2 and not $cs2 & 2
5602 12488 0 463 defined $filter and defined $$valPt
5652 0 0 0 $maxLen > 2048 and $verbose < 5
5670 0 0 8 $shift =~ s/^([-+])// && $1 eq '-'
5685 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 } }
5702 0 0 0 $frac =~ s/^(\d)// and $1 ne 0
5725 0 0 0 not $tz and eval { do { require Time::Local } }
5727 0 0 0 $tz && $tz =~ /^([-+]\d{2}):(\d{2})$/
5729 0 0 0 $fmt =~ /%s/ and eval { do { require Time::Local } }
5751 0 0 3 &IsFloat($val) and $val != 0
5756 1 0 2 $mult && $mult >= 60
5757 2 0 1 $val == 60 && $mult
5841 0 0 0 $dec =~ s/^(\d)// and $1 eq 1
5888 47 112 1 $tzStr and $tzStr =~ /^(\.\d+)/
5944 20 0 18 $bitrate >= 1000 and @units
6016 0 0 566 $raf->Seek(-$offset, 2) and ($len = $raf->Tell) > 0
6019 0 0 566 $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
6133 0 0 185 $result > 0 and $dirInfo->{'DirLen'}
6198 0 0 1157 $markerName and $markerName =~ /^([A-Z]+)\d+$/
6244 0 0 233 $raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/
6246 0 0 2 $raf->Read($s, 5) == 5 and $s eq "Exiv2"
6251 194 39 0 $options->{'RequestAll'} and $options->{'RequestAll'} > 2
6254 6 2 0 $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
6289 233 1819 1 $marker and $marker == 217 || $marker == 218 && !$wantTrailer || $marker == 147
6306 0 0 1587 defined $len and $len >= 2
6315 0 0 0 defined $len and $len >= 4
6327 1820 0 0 $skipped and not $foundSOS
1820 0 0 $skipped and not $foundSOS and $markerName ne "SOS"
6338 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
6356 0 0 229 $n == 3 and $length >= 15
6376 0 0 229 $hmin and $vmin
6385 3 0 0 $htmlDump and $dumpEnd
6420 0 0 0 $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
6425 0 0 0 $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
6442 0 0 0 $start and $start ne $actual
0 0 0 $start and $start ne $actual and $verbose > 1
6451 0 0 0 $self->{'PreviewError'} and $self->{'PreviewImageLength'}
6452 0 0 0 $raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'})
6501 200 0 28 $trailInfo and $verbose < 3
200 0 28 $trailInfo and $verbose < 3 and not $htmlDump
6506 228 0 0 $wantTrailer and $self->{'PreviewImageStart'}
6510 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]/
6541 0 0 0 $verbose and $marker
6611 68 0 1 $$segDataPt =~ /^FLIR\0/ and $length >= 8
6636 164 23 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/
6661 12 4 0 not $plen and $self->{'PreviewError'}
6665 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'}
6738 0 1 0 defined $_ and $flir .= $_
6769 0 68 0 $processed and not $start
6773 68 0 0 $verbose and not $processed
6778 86 0 34 $$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14
6803 34 34 0 defined $_ and $icc_profile .= $_
6825 2 19 46 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
6848 120 0 0 $preview and $nextMarker ne $marker
6899 20 0 0 $preview and $nextMarker ne 228
6904 0 0 0 $$segDataPt =~ /^SCALADO\0/ and $length >= 16
0 0 0 $self->{'Make'} eq "DJI" and $$segDataPt =~ /^\xaa\x55\x12\x06/
6927 0 0 0 $nextMarker == $marker && $$nextSegDataPt =~ /^FPXR\0/
6941 0 0 0 $preview and $nextMarker ne 229
6967 1 0 0 $$segDataPt =~ /^TDHD\x01\0\0\0/ and $length > 12
7042 0 0 19 $$segDataPt =~ /^SPIFF\0/ and $length == 32
7049 0 0 19 $$segDataPt =~ /^Media Jukebox\0/ and $length > 22
7059 0 0 0 $$segDataPt =~ /^AROT\0/ and $length > 10
7069 0 0 19 $$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16
7080 0 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /
7097 19 0 0 $len == 1 and length $$segDataPt >= 24
7151 44 19 0 $nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/
7180 29 0 16 $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
7193 0 0 19 $$segDataPt =~ /^Q\s*(\d+)/ and $length == 4
7220 1114 1 0 not $dumpType and $options->{'Unknown'} || $options->{'Validate'}
7345 36 5 390 $dataPt and length $$dataPt
7376 388 2 0 $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
7385 0 42 0 $dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS"
7409 204 268 0 $fileType eq "APP1" and $identifier != 42
7420 3 20 17 $identifier == 42 and $offset >= 16
20 0 3 $identifier == 85 and $fileType =~ /^(RAW|RW2|RWL|TIFF)$/
7437 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"
7448 13 0 0 $byteOrder eq "II" and ($identifier & 255) == 188
7473 0 2 38 $fileType and not $self->{'VALUE'}{'FileType'}
7482 13 27 0 not $outfile and $self->{'OPTIONS'}{'FastScan'}
27 0 0 not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} == 3
7485 284 170 18 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/
7536 27 0 0 $self->{'HTML_DUMP'} and $self->{'KnownTrailer'}
7545 348 2 0 $self->{'DNGVersion'} and not $self->{'VALUE'}{'FileType'} =~ /^(DNG|GPR)$/
7594 3 0 0 $pi and $pi->{'Fixup'}
7596 113 0 0 $self->{'TIFF_TYPE'} eq "ARW" and not $err
7609 109 0 10 ref $dirInfo{'ImageData'} and not $err
7619 109 1 12 $raf and $tiffEnd
110 0 12 $raf and $tiffEnd and not $err
7643 8 3 1 $extra > 0 and $tiffEnd & 1
7646 0 0 1 defined $buf and $buf eq "\0"
7650 3 0 0 $self->{'DEL_GROUP'}{'Trailer'} and not $known
7690 0 0 1 $ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.6"
7763 1366 2219 903 $defaultGroups->{'0'} and $defaultGroups->{'1'}
7795 3923 563 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
563 0 2 %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite
7810 87601 0 1280 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'}
87601 1162 118 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined
1162 118 0 $table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName}
7831 0 0 4862 $tagTablePtr and $dirInfo
7843 196 560 4106 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'}
756 4105 1 defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
7851 0 0 0 $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
7892 84 47 1776 $filename and $filename =~ /^.*\.([^.]+)$/s
7947 6458 5474 662 $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
7958 97256 931 2146 $tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'}
98187 81 2065 $tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'} and not $self->{'OPTIONS'}{'Verbose'}
1012 4 2061 $tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'} and not $self->{'OPTIONS'}{'Verbose'} and not $self->{'OPTIONS'}{'Validate'}
85 0 2061 $tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'} and not $self->{'OPTIONS'}{'Verbose'} and not $self->{'OPTIONS'}{'Validate'} and not $self->{'HTML_DUMP'}
7969 0 4322 844 not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'}
4322 121 723 not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'} and $tagID =~ /^\d+$/
4443 123 600 not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}
8026 4590 1 1442 defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'}
8076 873 0 578 $subdir and not $tagInfo->{'Writable'}
873 0 578 $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
8082 0 0 873 $start >= 0 and $start + $size <= $dLen
8084 102 452 319 not $format and $pfmt
554 0 319 not $format and $pfmt and $formatSize{$pfmt}
8111 728 0 1 $tagInfo->{'RawConv'} and not $tagInfo->{'Writable'}
8159 0 0 1 $num & 65280 and $num >> 8 > ($num & 255)
8173 6495 0 12 defined $rational and defined $key
8208 2099 51549 39 not defined $priority and $tagInfo->{'Avoid'}
8217 7215 0 1729 ref $value eq "HASH" and $tagInfo->{'IsComposite'}
8277 612 3010 411 $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
8280 57 154 1767 not $priority and $self->{'DIR_NAME'}
154 1727 40 not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
8288 2268 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
8343 53647 116 1171 $tagInfo->{'List'} and not $self->{'NO_LIST'}
53763 65 1106 $tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel
8350 54699 22 213 $options->{'Validate'} and not ref $value
8419 586 0 48 $self->{'VALUE'}{'FileType'} and not $self->{'DOC_NUM'}
8424 44 285 257 defined $ext and $ext ne $fileType
329 0 257 defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'}
8426 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]
8452 0 6 8 defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'}
8497 9111 0 4 $self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level
8532 128 0 0 $verbose and $verbose > 2
8572 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}
8578 0 5 8 $self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length
8582 0 5 0 $isPreview and not $self->{'BuildingComposite'}
8619 2055 0 0 $unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}
8646 0 0 0 $topIndex and $$tagTablePtr{$index - $topIndex}
8663 16212 262 0 $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
8715 0 0 0 $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
8771 292 1 0 $varSize != $oldVarSize and $verbose > 2
8789 16214 0 0 $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
8791 16029 0 185 defined $val and not $tagInfo->{'SubDirectory'}
8797 16016 0 198 $verbose and not $tagInfo->{'Hidden'}
8821 2 0 12 $tagInfo->{'Format'} and $formatSize{$format}
8826 0 0 2 $subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData
8853 16162 0 38 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3

or 2 conditions

line l !l condition
2013 471 0 ref $that || $that || 'Image::ExifTool'
2386 2 511 $options->{'FastScan'} || 0
2388 58 455 $options->{'RequestAll'} || 0
2707 0 0 &GetFileType($realname) || ''
2778 0 0 $self->{'FIRST_EXIF_POS'} || 0
2880 2 35 $nonVal{$_} || 0
2904 683 0 $self->{'REQUESTED_TAGS'} || []
2984 0 405 $1 || 0
3063 0 0 $self->{'DUPL_TAG'}{$tg} || 0
3373 236 9 $desc = $desc->{'Description'} or last
3379 0 0 $desc = $desc->{'Description'} or last
3419 69638 0 $self->{'TAG_INFO'}{$tag} || {}
3426 35451 0 $tagInfo->{'Table'} || {'GROUPS', {}}
3431 99080 0 $tagTablePtr->{'GROUPS'}{$_} || ''
3477 255 88161 defined $groups[$_] or $groups[$_] = ""
3481 28377 0 $groups[$family] || ''
3486 0 31 $1 || '1'
3596 33844 5683 $tagInfo->{'Require'} || {}
3597 16842 22685 $tagInfo->{'Desire'} || {}
3598 2519 37008 $tagInfo->{'Inhibit'} || {}
3616 0 0 $2 || 0
3626 0 285 $self->{'DUPL_TAG'}{$reqTag} || 0
3636 0 0 $ex->{$_}{'G3'} || 0
3653 496 24389 $self->{'DUPL_TAG'}{$name} || 0
4172 0 0 eval { do { Win32API::File::FILE_ATTRIBUTE_DIRECTORY() } } || 0
4464 683 0 $self->{'REQUESTED_TAGS'} || []
4534 0 0 $self->{'PRIORITY'}{$tag} || 1
4540 0 0 $priority || 1
4611 20 9 $1 || 0
4906 0 336 $tagInfo->{'Override'} || 0
0 336 $$compTable{$compositeID{$tagID}[0]}{'Override'} || 0
6013 185 381 shift() || 0
6060 0 57 $dirInfo->{'Offset'} || 0
6234 2 231 $options->{'FastScan'} || 0
7237 1 0 $self->{'VALUE'}{'HasExtendedXMP'} || ''
7239 1 0 $options->{'ExtendedXMP'} || 0
7337 426 52 $dirInfo->{'Parent'} || ''
7339 357 121 $dirInfo->{'Base'} || 0
7373 356 34 $dirInfo->{'DirStart'} || 0
7670 0 0 &CopyBlock($raf, $outfile, $size - $n) or $err = 1
7681 0 0 $self->WriteTrailerBuffer($trailInfo, $outfile) or $err = 1
7684 2 0 &Write($outfile, $$trailPt) or $err = 1
7833 3469 989 $tagTablePtr->{'PROCESS_PROC'} || \&Image::ExifTool::Exif::ProcessExif
7847 2569 1488 $dirInfo->{'Base'} || 0
8077 865 8 $parms{'Start'} || 0
8102 0 0 $parms{'Size'} || 0
0 0 $formatSize{$format} || 1
8258 1692 4319 $self->{'DUPL_TAG'}{$tag} || 0
8441 583 3 $mimeType || 'application/unknown'
8602 1322 733 $dirInfo->{'DirStart'} || 0
8604 991 1064 $dirInfo->{'Base'} || 0
8607 853 1202 $dirInfo->{'DataPos'} || 0
8610 1341 714 $tagTablePtr->{'FORMAT'} || 'int8u'
8707 0 0 $formatSize{$format} || 1
8783 0 0 $formatSize{$format} || 1
8799 198 0 $formatSize{$format} || 1
8839 0 14 $subdir->{'Start'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
2101 0 0 58 $param eq 'Compact' || $param eq 'XMPShorthand'
2107 357 1 4339 $param =~ /^Charset/ or $param eq "IPTCCharset"
0 1 4093 $param eq "Compact" or $param eq "XMPShorthand"
2137 59 58 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName"
117 0 0 $param eq "CharsetEXIF" or $param eq "CharsetFileName" or $param eq "CharsetRIFF"
2184 0 0 0 length $newVal or $force
2392 2 0 0 ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB'
2409 5 0 506 defined $_[0] or $options->{'HtmlDump'}
0 1 505 defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'}
2433 0 58 453 $req->{'now'} or $reqAll
2434 0 58 453 $req->{'newguid'} or $reqAll
2436 0 58 453 $req->{'filesequence'} or $reqAll
2438 0 58 453 $req->{'processingtime'} or $reqAll
2462 0 198 271 $req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'}
2468 0 198 271 $req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'}
2499 0 0 469 $filename eq "-" or $filename =~ /\|$/
2511 513 0 0 $raf or $isDir
2542 0 58 431 $options->{'SystemTags'} || $reqAll && !defined($options->{'SystemTags'})
2543 58 0 431 $sys or $req->{'fileattributes'}
2561 58 0 431 $sys or $req->{'filedevicenumber'}
2562 58 0 431 $sys or $req->{'fileinodenumber'}
2563 58 0 431 $sys or $req->{'filehardlinks'}
2564 58 0 431 $sys or $req->{'fileuserid'}
2565 58 0 431 $sys or $req->{'filegroupid'}
2566 58 0 431 $sys or $req->{'filedeviceid'}
2567 58 0 431 $sys or $req->{'fileblocksize'}
2568 58 0 431 $sys or $req->{'fileblockcount'}
2572 0 0 0 $reqAll > 1 || $req->{'macos:'}
2573 0 0 0 $reqMacOS || $req->{'filecreatedate'}
2574 0 0 0 $reqMacOS || $options->{'MDItemTags'} || grep(/^mditem/, keys %$req)
2575 0 0 0 $reqMacOS || $options->{'XAttrTags'} || grep(/^xattr/, keys %$req)
2576 0 0 0 $crDate or $mdItem
0 0 0 $crDate or $mdItem or $xattr
2584 0 0 513 $isDir or defined $stat[2] and ($stat[2] & 61440) == 16384
2638 515 2 1347 $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
2664 0 0 0 !$ext || $ext ne $type
2703 513 0 0 defined $type or $self->{'DOC_NUM'}
2713 0 0 0 length $buff < 16 or $buff =~ /[^\Q$ch\E]/
2762 1 92 142 $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'}
2838 0 0 513 not defined $type or exists $self->{'VALUE'}{'Error'}
2934 2 0 2 @$reqTags or $sort and $sort ne "Input"
2974 0 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
2981 0 0 407 $sort eq "Tag" or $sort eq "Alpha"
2998 0 0 405 $sort2 eq "Tag" or $sort2 eq "Alpha"
3026 1 0 0 $self->{'FOUND_TAGS'} || $self->SetFoundTags
3203 7369 9031 378 defined $val[$_] or not $tagInfo->{'Require'}{$_}
3350 10 22696 439 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3439 0 0 0 $ex && $ex->{'G0'} || $groups->{'0'}
3445 165 67059 0 $ex && $$ex{"G$family"} || $groups->{$family}
66882 342 28377 $family == 0 or $family == 2
3449 0 381 0 $ex && $ex->{'G0'} || $groups->{'0'}
3460 218 37 0 $ex->{'G5'} || $groups[1]
3468 36 43332 840 $tagInfo->{'KeysID'} || $tagInfo->{'TagID'}
3605 46762 1878 8808 $require->{$index} || $desire->{$index} || $inhibit->{$index}
3640 0 285 0 $cacheTag->[$doc] || "$reqTag (0)"
3660 1961 22924 0 $key || "$name (0)"
3822 894 0 0 !defined($desc) || $desc ne '0'
3860 0 0 0 &GetFileExtension($file) || uc $file
3877 0 23 0 &GetFileExtension($file) || uc $file
3879 23 0 0 $createTypes{$ext} or $createTypes{$type}
4059 0 0 0 $file =~ /[\x80-\xff]/ or $force
4124 0 0 0 not defined $fd or $fd < 0
4266 22 1 19 ref $arg eq "SCALAR" or UNIVERSAL::isa($arg, "GLOB")
4292 0 0 22 eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@
4334 41 0 647 @exclude or $wasExcludeOpt
4400 0 0 15610 $grp eq "*" or $grp eq "all"
4433 1 5 63 @$list1 or @$list2
4469 675 6 2 $duplicates || $exclude || @groupOptions
4492 721 1 0 $doDups or defined $group
4496 137 0 1 $doDups or $allGrp
4507 3 0 0 $doDups or $allGrp
4526 184 35 15 @matches or not $allTag
4532 142 1 0 $doDups or $allTag
143 0 0 $doDups or $allTag or $allGrp
4569 41 27 615 $exclude || @groupOptions
4659 0 0 0 not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
4796 10 8 5 $post =~ /^[-+]?>/ or not $post =~ /\$/
4830 1 0 16 length $pre or length $post
1 0 16 length $pre or length $post or $v
5290 0 0 14903 $pack1d eq "\000\000\cO\363\000\000\000\000" || $pack1d eq "\000\000\360?\000\000\000\000"
5390 8 21 1329 defined $count or $size < $len
5448 700 76 313 ($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/
5511 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")
6020 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
6254 225 0 8 not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'}
6289 229 1 1587 $marker == 217 || $marker == 218 && !$wantTrailer || $marker == 147
6338 229 0 232 $marker == 192 || $marker & 3
0 0 229 $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2
6390 1 2 0 $foundSOS or $self->{'FILE_TYPE'} eq "EXV"
6412 0 0 0 $start or $options->{'ExtractEmbedded'}
6420 0 0 0 $buff =~ /\xff\xd8\xff./g or $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g
6479 1 0 2 $verbose or $htmlDump
6526 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
6529 0 0 228 $options->{'Validate'} or $calcImageLen
0 0 228 $options->{'Validate'} or $calcImageLen or $req->{'trailer'}
6537 0 0 1 $verbose > 2 or $htmlDump
6661 171 0 16 not $start or not $plen and $self->{'PreviewError'}
6665 0 0 0 $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'}
6760 68 0 0 $$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/
7142 63 0 19 $$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1
7180 0 35 10 $req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'}
7209 0 0 2 $reg == 0 || $reg == 65535
7220 0 0 1 $options->{'Unknown'} || $options->{'Validate'}
7255 1 0 0 $guid eq $readGuid or $readGuid eq 2
7359 0 0 1 $n or not $outfile
0 0 1 $n or not $outfile or $fileType ne "EXIF"
7374 338 52 0 $dirInfo->{'DirLen'} || length($$dataPt) - $dirStart
7448 0 0 13 $identifier == 20306 or $identifier == 21330
7475 38 0 0 ref $lookup or not $lookup
7478 37 0 1 $baseType eq 'TIFF' || $fileType =~ /RAW/
7486 227 169 76 not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq "EXIF"
7583 0 1 118 $fileType eq "ORF" or $identifier != 42
7668 0 0 0 &Write($outfile, scalar "\0" x ($extra - $size)) or $err = 1, last
7773 506 1 3981 $defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'}
7785 744 3644 0 $tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/
7843 4056 1 49 $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'})
7969 806 38 4322 $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'}
8035 6009 2 22 defined $tagInfo->{'Name'} or $noPrefix
6011 0 22 defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'}
8041 13 1 6019 length $name < 2 or not $name =~ /^[A-Z]/i
8045 83 0 5950 defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID}
8064 1608 5628 2107 $parms{'TagInfo'} || $self->GetTagInfo($tagTablePtr, $tag, \$val, $pfmt, $parms{'Count'})
8076 5785 1382 69 defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'}
8083 78 24 771 $tagInfo->{'Format'} || $tagTablePtr->{'FORMAT'}
8152 162 567 0 $subdir->{'DirName'} || $tagInfo->{'Name'}
8165 729 0 0 &GetTagTable($subdir->{'TagTable'}) || $tagTablePtr
8166 56 35 638 $subdir->{'ProcessProc'} || $parms{'ProcessProc'}
8268 1002 1569 2532 $self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag}
2571 0 2532 $self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag} or $tag eq "Warning"
1569 2497 35 $self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag} or $tag eq "Warning" or not $self->{'TAG_EXTRA'}{$tag}{'G3'}
8277 0 0 4033 $self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}
8288 2763 484 496 !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag} && $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'}
8428 4 0 6 $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
8433 566 0 20 $mimeType or $baseType eq "TIFF"
8477 8 0 0 $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
8515 0 0 0 $name->{'Name'} || $name->{'DirName'}
8519 22 0 22 $entries || defined $entries && !$size
8572 34 0 9 !$self->{'OPTIONS'}{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag}
8603 2024 31 0 $dirInfo->{'DirLen'} || length($$dataPt) - $offset
8663 1 0 261 $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
8722 2 168 15 $format eq "pstr32" or $format eq "ustr32"
8750 0 0 185 not defined $count or $count > $more
8754 0 168 14 $format eq "ustring" or $format eq "ustr32"
8798 198 0 0 not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
4437 0 154 0 79 $exclude->{$tag} xor $inv
4447 1019 235 3486 2125 $exclude->{$_} xor $inv