Condition Coverage

blib/lib/Image/ExifTool/Writer.pl
Criterion Covered Total %
condition 882 1715 51.4


and 2 conditions

line l !l condition
844 10817 22822 0 $writeGroup eq "MakerNotes" and $permanent = 1
5103 2222 7 0 length $_ < 2 and $_ = "0$_"

and 3 conditions

line !l l&&!r l&&r condition
362 307 26 5397 defined $value and not ref $value
333 3 5394 defined $value and not ref $value and not $options{'Sanitized'}
378 0 0 2497 length $_ and /^(\d+)?(.*)/
384 1 0 0 defined $f and $f ne 7
401 5678 1 51 $tag eq "*" and not defined $value
5679 2 49 $tag eq "*" and not defined $value and not $family2
3 0 49 $tag eq "*" and not defined $value and not $family2 and @wantGroup < 2
404 42 0 7 $options{'Replace'} && $options{'Replace'} > 1
408 7 24 4 @del and $remove
440 0 0 3 $$delGroup{"$x-*"} and not $$delGroup{"-$grp"}
474 48 0 1 $verbose > 1 and @donegrps
507 2322 12 19 defined $fg->[0] and $fg->[0] != 1
511 6 1108 519 not $ifdName and /^XMP\b/i
519 274 0 0 $ifdName and $allFam0{$_}
536 1633 0 701 $grpName and $grpName ne $_
586 28 19 0 not $pre and uc $origTag eq "TAG"
625 53284 1411 112 $tagInfo->{'WriteGroup'} && $tagInfo->{'WriteGroup'} eq 'All'
634 122 0 156 $fam != 1 and not $tagInfo->{'AllowGroup'}
638 2231 5 4 $wgAll and not $writeGroup
646 105 12 15 $wgAll and not $fam
117 10 5 $wgAll and not $fam and $allFam0{$lcWant}
653 36206 8 6 $tagInfo->{'AllowGroup'} && $lcWant =~ /^$tagInfo->{'AllowGroup'}$/i
654 1184 10 450 $ifdName and $lcWant eq lc $ifdName
655 1150 12 32 $wgAll and not $fam
1162 25 7 $wgAll and not $fam and $allFam0{$lcWant}
659 401 39 10 $wgAll and $allFam0{$lcWant}
39 8 2 $wgAll and $allFam0{$lcWant} and $fam
665 15 0 1 $movGroup and $lcWant eq lc $movGroup
669 81 1620 48 $grp and $lcWant eq lc $grp
673 765 0 2 $mieGroup and $lcWant eq lc $mieGroup
676 2 0 0 $writeGroup =~ /^MIE\d+$/ and $tagInfo->{'Table'}{'WRITE_GROUP'}
705 0 119 36110 $writeProc and &$writeProc()
710 1 0 22903 $table->{'WRITABLE'} and not defined $writable
1 0 22903 $table->{'WRITABLE'} and not defined $writable and not $tagInfo->{'SubDirectory'}
712 15242 84 0 $translateWriteGroup{$writeGroup} and !$tagInfo->{'WriteGroup'} || $tagInfo->{'WriteGroup'} ne 'All'
722 19823 934 26 $tagInfo->{'Avoid'} and $tagInfo->{'WriteAlso'}
736 35049 1029 31 $noFlat and defined $tagInfo->{'Flat'}
753 34027 651 214 $table->{'GROUPS'}{'0'} eq "QuickTime" and !defined($highestQT{$lcTag}) || $highestQT{$lcTag} < $priority
786 0 10166 18 $preferred{$lcTag} and $highestPriority{$lcTag} == 0
10166 0 18 $preferred{$lcTag} and $highestPriority{$lcTag} == 0 and %{$self->{'WRITE_PRIORITY'};}
792 8646 0 1538 $avoid{$lcTag} and $preferred{$lcTag}
839 34375 271 221 defined $listOnly and $listOnly ^^ $tagInfo->{'List'}
850 20119 12365 2162 not $pref->{$tagInfo} and $tagInfo->{'Avoid'}
12365 2136 26 not $pref->{$tagInfo} and $tagInfo->{'Avoid'} and $tagInfo->{'WriteAlso'}
865 24 0 0 $options{'DelValue'} and defined $shiftable
24 0 0 $options{'DelValue'} and defined $shiftable and $shiftable eq "Time"
867 0 0 169 defined $value && length $value
0 169 0 $shift and not defined $value && length $value
876 118 51 0 defined $shiftable and not $shiftable
169 0 0 defined $shiftable and not $shiftable and $shift || $shiftable eq '0' && $options{'DelValue'}
888 22251 39 9 $addValue and not $shift || $tagInfo->{'List'}
897 21751 370 0 not length $val and $options{'DelValue'}
22058 22 2 ref $val eq "HASH" and not $tagInfo->{'Struct'}
898 118 0 51 $tagInfo->{'Shift'} and $tagInfo->{'Shift'} eq "Time"
952 4186 0 3 $tagInfo->{'DelGroup'} and not $options{'DelValue'}
980 20485 11041 3047 not defined $val and defined $value
994 19 0 6 $tagInfo->{'WriteGroup'} and $tagInfo->{'WriteGroup'} eq "All"
19 0 6 $tagInfo->{'WriteGroup'} and $tagInfo->{'WriteGroup'} eq "All" and $writeGroup
1011 20357 0 58 $options{'DelValue'} && !$shift
1014 19872 218 325 $tagInfo->{'List'} and not $options{'Replace'}
1057 3411 8 378 $tagInfo->{'List'} and not $options{'DelValue'}
3361 0 58 $nvHash->{'DelValue'} && @{$nvHash->{'DelValue'};}
1082 176 0 1 $verbose > 1 and @grps
1095 529 0 0 defined $nvHash->{'AddBefore'} and @{$nvHash->{'Value'};} >= $nvHash->{'AddBefore'}
1121 10 0 0 $nvHash->{'DelValue'} && @{$nvHash->{'DelValue'};}
1151 30 0 46 $tagInfo->{'WriteGroup'} and $tagInfo->{'WriteGroup'} eq "All"
30 0 46 $tagInfo->{'WriteGroup'} and $tagInfo->{'WriteGroup'} eq "All" and $writeGroup
1179 11 84 148 $n and $pref->{$tagInfo}
1181 232 11 0 $Image::ExifTool::evalWarning and !$err || $verbose > 2
1195 3771 451 86 defined $err and not $prioritySet
3149 0 451 $err and not $verbose
1196 0 86 0 $err and not wantarray
1201 25 326 12 $options{'Replace'} and $options{'Replace'} == 2
1205 0 0 252 $wantGroup and @matchingTags
1282 59 0 0 ref $srcFile and UNIVERSAL::isa($srcFile, "Image::ExifTool")
1294 0 44 15 $structOpt eq 2 and not @setTags
1322 59 0 0 $options->{'FastScan'} && $options->{'FastScan'} > 1
1326 59 0 0 $options->{'Geolocation'} and not grep(/\bGeolocation/i, @setTags)
1357 59 0 0 $info->{'Error'} and $info->{'Error'} eq "Error opening file"
59 0 0 $info->{'Error'} and $info->{'Error'} eq "Error opening file" and not $self->{'ALT_EXIFTOOL'}
1381 2647 0 0 $opts{'SrcType'} and $opts{'SrcType'} ne $srcType
1466 0 0 35 length $_ and /^(\d+)?(.*)/
1468 0 35 0 !$f || $f eq '7' and $g =~ s/^ID-//i
1469 32 3 0 $g =~ /^file\d+$/i and !$f || $f eq '8'
1490 39 20 3 $tag =~ /[?*]/ and $tag ne "*"
1554 5681 515 16 $opts->{'WILD'} and $lcTag =~ /^$set->[1]$/
1570 0 0 4 defined $grp[$f] and $g eq $grp[$f]
1592 0 0 0 $noWarn and eval { do { $err =~ /$noWarn/ } } || $err =~ s/^\[minor\] //i && eval { do { $err =~ /$noWarn/ } }
1606 8 0 0 $dstTag =~ /[?*]/ and $dstTag ne "*"
1616 1452 0 0 $opts->{'SrcType'} and $opts->{'SrcType'} ne $srcType
1647 1271 118 26 $srcExifTool->{'TAG_INFO'}{$tag}{'Protected'} and $srcExifTool->{'TAG_INFO'}{$tag}{'Binary'}
1664 665 761 0 $wrn and not $noWarn
1691 3036 53 4217 ref $tag eq "HASH" and $tag->{'IsNVH'}
1697 1358 1551 0 defined($tagInfo = $Image::ExifTool::Extra{$tag}) and $tagInfo->{'Writable'}
1723 0 0 0 /^ID-(.*)/i and &IsSameID($tagInfo->{'TagID'}, $1)
1736 2991 1961 2354 $nvHash and $nvHash->{'Value'}
1750 34 0 26 $nvHash->{'Shift'} and $table
1789 1082 82 0 @$vals > 1 and $self->Options("NoDups")
1919 6 0 0 $self->{'ALT_EXIFTOOL'}{$g8} && !($file =~ /\$/) && $self->{'ALT_EXIFTOOL'}{$g8}{'ALT_FILE'} eq $file
1950 0 0 0 $tag eq "FileCreateDate" and $^O ne "MSWin32"
2007 0 0 1 defined $filename and $self->IsOverwriting($nvHash, $file)
2009 1 0 0 defined $dir and $self->IsOverwriting($nvHash, $file)
2025 0 0 0 $newName =~ /:/ and not $newName =~ /^[A-Z]:[^:]*$/i
2029 0 0 0 $newName =~ /\?/ and not $newName =~ m[^[\\/]{2}\?[\\/][^?]*$]
2040 0 0 0 length $newName > 259 and not $newName =~ /\?/
2049 1 0 0 $self->Exists($newName, 1) and !defined($usedFlag) || $usedFlag
2090 0 0 0 not $file =~ m[^/] and $newName =~ m[/]
2268 245 0 0 $setModDate and $self->IsOverwriting($nvHash) < 0
245 0 0 $setModDate and $self->IsOverwriting($nvHash) < 0 and defined $infile
0 0 0 $setModDate and $self->IsOverwriting($nvHash) < 0 and defined $infile and ref $infile ne "SCALAR"
2274 245 0 0 $setCreateDate and $self->IsOverwriting($nvHash2) < 0
245 0 0 $setCreateDate and $self->IsOverwriting($nvHash2) < 0 and defined $infile
0 0 0 $setCreateDate and $self->IsOverwriting($nvHash2) < 0 and defined $infile and ref $infile ne "SCALAR"
2284 241 0 4 not defined $outfile and defined $infile
2288 4 0 0 defined $hardLink and not length $hardLink
2289 4 0 0 defined $symLink and not length $symLink
2290 4 0 0 defined $testName and not length $testName
2293 4 0 0 defined $newDir and length $newDir
2298 3 0 0 defined $newFileName and length $newFileName
2300 0 0 1 defined $newFileName || defined $newDir and not ref $infile
2310 0 0 0 $self->SetFileModifyDate($infile) > 0 and $rtnVal = 1
2311 0 0 0 $self->SetFileModifyDate($infile, undef, "FileCreateDate") > 0 and $rtnVal = 1
2315 0 0 0 $hardLink and $self->SetFileName($infile, $hardLink, "HardLink")
2316 0 0 0 $symLink and $self->SetFileName($infile, $symLink, "SymLink")
2317 0 0 0 $testName and $self->SetFileName($infile, $testName, "Test")
2343 24 0 215 defined $infile and $infile ne ""
2345 0 4 0 $] >= "5.006" and $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$inRef) } } || $@
2451 5 238 0 not ref $infile and $infile eq '-' || $infile =~ /\|$/
2478 0 24 254 $Image::ExifTool::magicNumber{$type} and length $hdr
24 219 35 $Image::ExifTool::magicNumber{$type} and length $hdr and not $hdr =~ /^$Image::ExifTool::magicNumber{$type}/s
2543 0 0 0 $fileType and defined $rtnVal
2567 0 0 0 $infile and &GetFileType($infile)
2580 220 0 24 $outType and $type
220 24 0 $outType and $type and $outType ne $type
2587 0 244 0 $rtnVal > 0 and not &Tell($outRef)
244 0 0 $rtnVal > 0 and not &Tell($outRef) and not $self->{'VALUE'}{'Error'}
2589 0 0 0 defined $hdr and length $hdr
2612 0 0 1 seek $inRef, 0, 2 and ($size = tell $inRef) >= 0
0 0 1 seek $inRef, 0, 2 and ($size = tell $inRef) >= 0 and seek $inRef, 0, 0
0 0 1 seek $inRef, 0, 2 and ($size = tell $inRef) >= 0 and seek $inRef, 0, 0 and print $inRef $outBuff
0 0 1 seek $inRef, 0, 2 and ($size = tell $inRef) >= 0 and seek $inRef, 0, 0 and print $inRef $outBuff and $len >= $size || eval { do { truncate $inRef, $len } }
2621 0 0 0 $rtnVal and $rtnVal = -1
2624 215 0 0 $^O eq "darwin" and -s "$infile/..namedfork/rsrc"
2648 0 0 0 $err and $self->Error("Error $err Mac OS resource fork", 2)
2658 0 0 0 $rtnVal and $rtnVal = -1
2681 0 224 20 $rtnVal > 0 and $closeOut || defined $outBuff && ($closeIn || UNIVERSAL::isa($infile, 'GLOB'))
2686 206 0 0 $setModDate and $self->SetFileModifyDate($target, $originalTime, undef, 1) > 0
2688 206 0 0 $setCreateDate and $self->SetFileModifyDate($target, $createTime, "FileCreateDate", 1) > 0
2690 206 0 0 defined $hardLink and $self->SetFileName($target, $hardLink, "HardLink")
2691 206 0 0 defined $symLink and $self->SetFileName($target, $symLink, "SymLink")
2728 0 0 0 $table->{'GROUPS'} and $table->{'GROUPS'}{'0'} eq "XMP"
2739 0 0 0 $tagInfo->{'SubDirectory'} and not $tagInfo->{'Writable'}
2773 0 0 0 $table->{'GROUPS'} and $table->{'GROUPS'}{'0'} eq "XMP"
2793 0 0 0 $table->{'WRITABLE'} and not defined $writable
0 0 0 $table->{'WRITABLE'} and not defined $writable and not $tagInfo->{'SubDirectory'}
2843 0 0 0 $grps = $table->{'GROUPS'} and $grp = $grps->{$family}
2852 0 0 0 $self and $self->{'OPTIONS'}{'HexTagIDs'}
2860 0 0 0 $grps = $tagInfo->{'Groups'} and $grp = $grps->{$family}
2934 0 5467 0 $] >= "5.006" and $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$valPt) } } || $@
2975 523 2 75 defined $listSplit and not $tagInfo->{'Struct'}
525 4 71 defined $listSplit and not $tagInfo->{'Struct'} and $wantGroup || !defined($wantGroup)
2978 16 0 59 $listSplit eq 1 and $tagInfo->{'AutoSplit'}
2988 24125 0 13 $tagInfo->{'RawJoin'} and $tagInfo->{'List'}
0 0 13 $tagInfo->{'RawJoin'} and $tagInfo->{'List'} and not ref $val
3001 68 655 23373 $table and $table->{'CHECK_PROC'}
655 219 23154 $table and $table->{'CHECK_PROC'} and not $tagInfo->{'RawConvInv'}
3077 311 0 9580 ref $conv eq "HASH" and !exists($$tagInfo{"${type}Inv"}) || $convInvList
3080 9580 0 0 $self->{'CUR_LANG'} and $type eq "PrintConv"
9580 0 0 $self->{'CUR_LANG'} and $type eq "PrintConv" and ref($lc = $self->{'CUR_LANG'}{$tag}) eq "HASH"
0 0 0 $self->{'CUR_LANG'} and $type eq "PrintConv" and ref($lc = $self->{'CUR_LANG'}{$tag}) eq "HASH" and $lc = $lc->{'PrintConv'}
3160 20 0 1 ref $val eq "ARRAY" and ref $val->[0] ne "HASH"
3173 0 1 0 $missing and defined $mval
3219 0 0 0 $line =~ /^self\b/ and not $rtnStr =~ /\$$/
3236 6 6 2 $bra and $line =~ s/^\@(#)?//
3242 6 4 4 $bra and not $line =~ s/^\s*\}//
10 0 4 $bra and not $line =~ s/^\s*\}// and $line =~ s/^\s*;\s*(.*?)\s*\}//s
3249 4 0 4 $level and $line =~ s/^(.*?)\s*\}//s
3268 14 0 0 $cache and not $lcTag =~ /(^|:)all$/
3287 0 0 0 / \((\d+)\)$/ and $1 < $cur
3299 14 0 0 $docGrp and not $lcTag =~ /\b(main|doc\d+):/
3338 3 0 0 defined $val and $tg =~ / \((\d+)\)$/
3376 10 0 4 defined $expr and defined $val
3397 0 0 0 $docGrp && !($var =~ /\b(main|doc\d+):/i)
3410 0 0 0 ref $opt and $self->{'OPTIONS'}{'UndefTags'}
3413 0 0 0 $docGrp && !($var =~ /\b(main|doc\d+):/i)
3451 0 0 0 $Image::ExifTool::advFmtSelf and defined($shift = $Image::ExifTool::advFmtSelf->{'OPTIONS'}{'GlobalTimeShift'})
3470 0 0 0 $_[0] && $new eq $_
3534 0 0 0 $interrupted and $SIG{'INT'}
3560 0 0 2 defined $mode and not defined $self->GetNewValue("FilePermissions")
3565 0 0 2 defined $uid and defined $gid
2 0 0 defined $newUid && defined $newGid
0 0 2 defined $uid and defined $gid and not defined $newUid && defined $newGid
3637 3169 173 3907 $matches > 1 and not $pattern =~ /\$$/
3640 11241 19 461 defined $conv->{$_} and $conv->{$_} =~ /$pattern/
3709 6 0 7 $shiftType and $shiftType eq "Time"
3728 0 0 0 defined $val and &IsFloat($val)
3786 5 0 0 $grps{'exif'} and not $grps{'gps'}
3812 3 2 0 $writeGPS and $grps{'keys'}
3815 5 0 0 $grps{'quicktime'} and not $didQT
3 1 1 $writeGPS and not @tags
4 0 1 $writeGPS and not @tags and not $grps{'xmp'}
3820 2 0 0 $grps{'xmp'} and not $grps{'xmp-exif'}
3846 41984 5327 2007 $nvHash and $nvHash->{'WriteGroup'} ne $writeGroup
3852 1968 0 0 $nvHash->{'WriteGroup'} eq "EXIF" and $writeGroup =~ /IFD/
3858 45632 24237 10 defined $nvHash and $opts{'delete'} || $opts{'create'} && $nvHash->{'Save'}
3859 2402 0 0 defined $_[4] && defined $nvHash->{'Save'} && $nvHash->{'Save'} > $_[4]
3865 0 0 0 $opts{'create'} && ($nvHash->{'NoReplace'} || $_[5] || $nvHash->{'DelValue'} && !defined($nvHash->{'Shift'}))
2402 0 0 $protect and not $opts{'create'} && ($nvHash->{'NoReplace'} || $_[5] || $nvHash->{'DelValue'} && !defined($nvHash->{'Shift'}))
3886 10 0 0 $protect and $nvHash->{'Value'}
3889 21855 24153 23871 not defined $nvHash and $opts{'create'}
4033 31208 2284 58296 $tagTablePtr and $tagTablePtr ne $tagInfo->{'Table'}
4054 0 314 21967 $tagTablePtr and $tagTablePtr ne $tagInfo->{'Table'}
4091 37731 640 287 $editDirs->{$dirName} and $editDirs->{$dirName} eq $parent
4165 109 551 143 $preferredGroup ne $g0 and $nvHash->{'CreateGroups'}{$preferredGroup}
551 139 4 $preferredGroup ne $g0 and $nvHash->{'CreateGroups'}{$preferredGroup} and !$altGroup || $altGroup ne $g0
4171 12 2691 92 $nvHash->{'Value'} and $preferredGroup eq $g0
2703 0 92 $nvHash->{'Value'} and $preferredGroup eq $g0 and not $nvHash->{'EditOnly'}
2691 0 92 $nvHash->{'Value'} and $preferredGroup eq $g0 and not $nvHash->{'EditOnly'} and $self->{'OPTIONS'}{'WriteMode'} =~ /g/
4183 13312 0 0 $dirName eq "*" and $nvHash->{'Value'}
4205 48622 52 5067 $isCreating and $isCreating != 2
4232 88 38 88 $editDirs->{'IFD0'} and $fileDirs->{'JFIF'}
4272 1 185 0 $dirInfo->{'TagInfo'} && $dirInfo->{'TagInfo'}{'Deletable'}
101 0 186 $permanentDir{$grp0} and not $dirInfo->{'TagInfo'} && $dirInfo->{'TagInfo'}{'Deletable'}
4276 30 12 0 $grp0 =~ /^(MakerNotes)$/ || $grp1 =~ /^(IFD0|ExifIFD|MakerNotes)$/ and $self->IsRawType
42 0 0 $grp0 =~ /^(MakerNotes)$/ || $grp1 =~ /^(IFD0|ExifIFD|MakerNotes)$/ and $self->IsRawType and !($dirInfo->{'TagInfo'} && defined $dirInfo->{'TagInfo'}{'Permanent'}) || $dirInfo->{'TagInfo'}{'Permanent'}
0 0 0 $self->IsRawType == 2 && $parent eq 'ExifIFD'
0 0 0 $grp0 =~ /^(MakerNotes)$/ || $grp1 =~ /^(IFD0|ExifIFD|MakerNotes)$/ and $self->IsRawType and !($dirInfo->{'TagInfo'} && defined $dirInfo->{'TagInfo'}{'Permanent'}) || $dirInfo->{'TagInfo'}{'Permanent'} and not $self->IsRawType == 2 && $parent eq 'ExifIFD'
4292 10 0 0 $grp0 eq "EXIF" and $delGroup->{$grp0}
4317 21 20 1 not $right and $grp1 eq "EXIF"
4318 18 3 21 $delFlag == 2 and $right
4360 290 1333 11 $tagInfo and $nvHash = $self->{'NEW_VALUE'}{$tagInfo}
1623 0 11 $tagInfo and $nvHash = $self->{'NEW_VALUE'}{$tagInfo} and $self->IsOverwriting($nvHash)
11 0 0 $nvHash->{'CreateOnly'} && $isRewriting
1333 0 11 $tagInfo and $nvHash = $self->{'NEW_VALUE'}{$tagInfo} and $self->IsOverwriting($nvHash) and not $nvHash->{'CreateOnly'} && $isRewriting
4378 0 0 11 defined $newVal and length $newVal
4395 0 0 0 $blockName eq "MakerNotes" and $self->IsRawType
0 0 0 $self->IsRawType == 2 && $parent eq 'ExifIFD'
0 0 0 $blockName eq "MakerNotes" and $self->IsRawType and not $self->IsRawType == 2 && $parent eq 'ExifIFD'
4411 219 18 1386 defined $dataPt and defined $dirInfo->{'DirStart'}
237 171 1215 defined $dataPt and defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'}
189 522 693 defined $dataPt and defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and not $dirInfo->{'NoRefTest'}
4416 693 0 0 $self->{'PROCESSED'}{$addr} and $dirName ne 'ICC_Profile' || $self->{'TIFF_TYPE'} ne 'IIQ'
4417 0 0 0 defined $dirInfo->{'DirLen'} and not $dirInfo->{'DirLen'}
0 0 0 defined $dirInfo->{'DirLen'} and not $dirInfo->{'DirLen'} and $dirName ne $self->{'PROCESSED'}{$addr}
4439 4 0 0 $dirName eq 'MakerNotes' && $dirInfo->{'TagInfo'}
4457 55 917 651 defined $newData and length $newData || $isRewriting
4462 0 4 0 defined $newData and not length $newData
4463 4 0 0 $self->{'CHANGED'} == $oldChanged and $self->{'OPTIONS'}{'Verbose'} > 2
4538 0 164 5 $maxLen and $len > $maxLen
4595 0 0 617 $tagInfo and $tagInfo->{'Name'}
4624 0 578 39 $tagInfo and $tagInfo->{'SubDirectory'}
4640 187 430 0 $verbose > 1 and $parms{'Extra'} || $parms{'Format'} || $parms{'DataPt'} || defined $size || $tagID =~ m[/]
4664 225 0 165 $verbose > 2 and $parms{'DataPt'}
4669 434 18 165 $verbose > 2 and $parms{'DataPt'}
0 165 0 $tagInfo && $tagInfo->{'ReadFromRAF'}
18 0 165 $verbose > 2 and $parms{'DataPt'} and not $tagInfo && $tagInfo->{'ReadFromRAF'}
4759 0 0 0 $hidPos and $hidLen
4767 0 0 0 $prePos and $preLen
0 0 0 $prePos and $preLen and $prePos + $preLen > $pos
4918 15 0 46 defined $guidCount and ++$guidCount < 256
5018 1 467 6 not $fmt and $val =~ s/([-+])(\d{1,2}):?(\d{2})\s*(DST)?$//i
1 467 0 not $fmt and $val =~ s/Z$//i
5067 0 0 0 $^O eq "MSWin32" and $fmt =~ /%s/
0 0 0 $^O eq "MSWin32" and $fmt =~ /%s/ and $val =~ /-\d/
5076 0 0 1 defined $a[5] and length $a[5]
5082 0 0 1 defined $a[4] and length $a[4]
5085 0 0 5 defined $a[$i] && length $a[$i]
5109 430 3 5 @a > 5 && $val =~ /(\.\d+)\s*$/
5126 1 0 438 defined $ss and $ss < 60
5390 0 0 7 $format =~ /^rational/ and $val eq 'inf' || $val eq 'undef' || &IsRational($val)
5397 280 0 61 $count and $count > 0
5450 31 0 2 @vals > 1 and wantarray
5457 0 0 9 &IsInt($bit) and $bit < $num
5591 0 0 0 $type eq "EXIF" and $n + $maxLen <= $len - 4
0 0 0 $type eq "EXIF" and $n + $maxLen <= $len - 4 and substr($$dataPt, $n + $maxLen, 4) =~ /^(MM\0\x2a|II\x2a\0)/
5662 1 1 112 $raf->Read($s, 2) == 2 and $s eq "\377\330"
5663 0 1 1 defined $s and length $s
5664 0 0 1 $s eq "\377\1" and $raf->Read($s, 5) == 5
0 0 1 $s eq "\377\1" and $raf->Read($s, 5) == 5 and $s eq "Exiv2"
5710 470 112 112 ($marker & 240) == 192 and $marker == 192 || $marker & 3
0 0 582 $marker != 0 and $marker != 1
0 582 0 $marker != 0 and $marker != 1 and $marker < 208 || $marker > 215
5718 0 0 582 defined $len and $len >= 2
5735 53 7 0 @dirOrder and $dirOrder[-1] =~ /^(IFD0|ExtendedEXIF)$/
60 0 0 @dirOrder and $dirOrder[-1] =~ /^(IFD0|ExtendedEXIF)$/ and not length $junk
7 0 0 @dirOrder and $dirOrder[-1] =~ /^(IFD0|ExtendedEXIF)$/ and not length $junk and not $bytes =~ /^(MM\0\x2a|II\x2a\0)/
5764 99 32 216 defined $dirName and not $delGroup->{$dirName}
5772 1 1 112 $marker and $marker == 218
5774 1 1 0 $marker and $marker != 217
5811 584 112 112 ($marker & 240) == 192 and $marker == 192 || $marker & 3
0 0 696 $marker != 0 and $marker != 1
0 2 694 $marker != 0 and $marker != 1 and $marker != 217
2 694 0 $marker != 0 and $marker != 1 and $marker != 217 and $marker < 208 || $marker > 215
5821 0 0 694 defined $len and $len >= 2
5835 760 47 1 exists $addDirs->{'JFIF'} and not defined $doneDir{'JFIF'}
5862 0 0 0 defined $newData and length $newData
5871 368 302 33 exists $addDirs->{'IFD0'} and not defined $doneDir{'IFD0'}
5883 0 2 31 defined $buff and length $buff
5892 31 0 0 $self->{'PREVIEW_INFO'} || $self->{'LeicaTrailer'} || $self->{'HiddenData'} and not $oldOutfile
5905 31 0 0 $n > 1 and $oldOutfile
5916 413 87 21 exists $addDirs->{'Photoshop'} and not defined $doneDir{'Photoshop'}
5926 0 0 21 defined $buff and length $buff
5933 362 115 29 exists $addDirs->{'XMP'} and not defined $doneDir{'XMP'}
5945 0 0 29 defined $buff and length $buff
5952 485 13 3 exists $addDirs->{'ICC_Profile'} and not defined $doneDir{'ICC_Profile'}
5954 2 1 0 $delGroup->{'ICC_Profile'} and $delGroup->{'ICC_Profile'} != 2
5963 0 0 3 defined $buff and length $buff
5970 488 10 2 exists $addDirs->{'Ducky'} and not defined $doneDir{'Ducky'}
5980 0 0 2 defined $buff and length $buff
5993 475 0 0 exists $addDirs->{'Adobe'} and not defined $doneDir{'Adobe'}
6011 427 23 5 exists $addDirs->{'COM'} and not defined $doneDir{'COM'}
6013 5 0 0 $delGroup->{'File'} and $delGroup->{'File'} != 2
6033 584 112 112 ($marker & 240) == 192 and $marker == 192 || $marker & 3
582 0 2 $marker == 217 and $isEXV
112 470 0 $marker >= 208 and $marker <= 215
6061 15 0 0 $endedWithFF and $buff =~ /^\xd9/gs
6083 0 0 0 $nvTrail->{'Value'} and $nvTrail->{'Value'}[0]
0 0 0 $raf->Seek(0, 2) and $raf->Tell != $endPos
6114 0 0 0 $padLen >= 0 and $raf->Seek($endPos, 0)
0 0 0 $padLen >= 0 and $raf->Seek($endPos, 0) and $raf->Read($pad, $padLen) == $padLen
6172 0 0 0 $self->{'Make'} =~ /^SONY/i and $junkLen > 32
6179 0 0 0 length $buff > $junkLen + $segLen + 6 and substr($buff, $junkLen + $segLen + 3, 3) eq "\330\377\333"
6218 0 0 0 $previewInfo and $previewInfo->{'Data'} ne "LOAD_PREVIEW"
6265 0 0 0 $verbose and $marker
6305 0 0 11 defined $newData and length $newData
6395 46 0 0 $self->{'PREVIEW_INFO'} || $self->{'LeicaTrailer'} || $self->{'HiddenData'} and not $oldOutfile
6408 46 0 0 $n > 1 and $oldOutfile
6462 1 0 0 $goodGuid and $goodGuid ne $2
6474 1 0 0 $guid ne $readGuid and $readGuid ne 2
6553 0 0 0 $$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14
6561 0 0 0 $chunksTot != $iccChunksTotal and defined $iccChunkCount
6587 0 0 0 defined $_ and $icc_profile .= $_
6751 2 1 1 $delGroup->{'File'} and $delGroup->{'File'} != 2
6779 438 5 11 $delGroup->{'*'} and not $segType
443 8 3 $delGroup->{'*'} and not $segType and $marker >= 224
13 2 1 $delGroup->{'*'} and not $segType and $marker >= 224 and $marker <= 239
6786 4 0 449 defined $segDataPt and defined $$segDataPt
6813 0 114 0 $rtnVal and $err
6814 113 0 1 $creatingEXV and $rtnVal > 0
113 1 0 $creatingEXV and $rtnVal > 0 and not $self->{'CHANGED'}
6828 47 8 83 length $$valPtr and not $$valPtr =~ /^\xff\xd8/
55 58 25 length $$valPtr and not $$valPtr =~ /^\xff\xd8/ and not $self->Options("IgnoreMinorErrors")
6848 2293 0 353 $count and $count > 0
6860 15217 0 2132 $count and $count != 1
6880 2049 12 1264 &IsFloat($val) and $count == 1
6887 15506 0 6 $val > $rng->[1] and $val != 4277010157
6895 61 9 0 $1 < 0 and $format =~ /u$/
6901 557 576 0 $format =~ /^rational\d+u$/ and $val < 0
6919 0 1369 3324 $table and $table->{'FORMAT'}
7012 0 0 0 defined $atime and defined $mtime
7061 0 0 0 defined $atime and defined $mtime
7103 0 0 0 $type and defined $size
7109 0 0 0 $self->{'OPTIONS'}{'Verbose'} and $bytesRead
0 0 0 $self->{'OPTIONS'}{'Verbose'} and $bytesRead and $type
0 0 0 $self->{'OPTIONS'}{'Verbose'} and $bytesRead and $type and not $noMsg
7203 6 3 13 $writeInfo and $writeInfo eq $tagInfo
7206 212 6 10 @varInfo and $varInfo[0][0] < $tagID
7230 212 0 6 @varInfo and $varInfo[0][0] == $tagID
7243 213 0 0 $tagInfo->{'DataTag'} and not $tagInfo->{'IsOffset'}
7248 0 0 0 $format =~ /^int16/ and $newVal > 65535
7262 487 0 1 $tagTablePtr->{'IS_OFFSET'} and $dirInfo->{'Fixup'}
7269 1 0 0 @varInfo and $varInfo[0][0] < $tagID
7281 0 0 0 $tagInfo->{'DataTag'} and defined $tagInfo->{'OffsetPair'}
7298 0 0 0 $tagInfo->{'DataTag'} eq "PreviewImage" and $self->{'FILE_TYPE'} eq "JPEG"
7305 0 0 0 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} eq 3
7309 0 0 0 $offset >= 0 and $offset + $size <= $dirInfo->{'DataLen'}
7325 9 0 0 @varInfo and $varInfo[0][0] < $tagID
7357 0 0 0 $len and $len <= $dataLen - $start
7366 0 0 9 defined $dat and length $dat

or 2 conditions

line l !l condition
319 327 5447 $options{'Protected'} || 0
372 5208 0 $self->Filter($self->{'OPTIONS'}{'FilterW'}, \$value) or return 0
727 2457 1303 $self->{'WRITE_PRIORITY'}{lc $group0} || 0
848 34628 18 $preferred{$lcTag} || {}
1068 77 2396 $options{'CreateGroups'} || {}
1322 0 59 $options->{'CoordFormat'} || '%d %d %.8f'
0 59 $options->{'RequestAll'} || 1
1510 13 18 $grp || ''
2815 0 0 shift() || 0
2817 0 0 shift() || 0
2968 70 0 $self->{'ConvType'} || 'PrintConv'
3212 0 0 $self->{'FOUND_TAGS'} || []
3282 0 0 $ex->{$_}{'G3'} || 0
3292 0 0 $2 || 0
4051 581 576 shift() || (last)
4179 394 0 $1 || ''
4263 1884 63 $dirInfo->{'Parent'} || ''
4320 7 14 $self->{'ADD_DIRS'}{$right} || ''
4414 475 218 $dirInfo->{'Base'} || 0
4526 165 4 $opts{'Start'} || 0
4528 0 169 $opts{'Width'} || 16
4529 169 0 $opts{'Prefix'} || ''
4530 169 0 $opts{'Out'} || \*STDOUT
4536 70 0 $opts{'DataPos'} || 0
0 70 $opts{'Base'} || 0
4633 0 0 $parms{'Start'} || 0
4687 1 0 $dirInfo->{'DirName'} || 'Unknown'
5061 0 0 $wrn || "Install POSIX::strptime or Time::Piece for inverse date/time conversions\n"
5168 2 36 $self->Options('ByteOrder') || $self->GetNewValue('ExifByteOrder') || $default || $self->{'MAKER_NOTE_BYTE_ORDER'} || 'MM'
5171 0 0 $self->{'MAKER_NOTE_BYTE_ORDER'} || 'MM'
5211 549 30 shift() || 2147483647
5769 33 661 $dirCount{$dirName} || 0
6195 0 0 $previewInfo->{'BaseShift'} || 0
6200 0 0 $fixup->GetMarkerPointers($outfile, 'PreviewImage') || 0
6421 2 19 $doneDir{'XMP'} || 0
6470 1 0 $self->{'OPTIONS'}{'ExtendedXMP'} || 0
6862 113 38 $count = @vals or return undef
6964 0 0 $try || 1
7174 427 61 $tagTablePtr->{'FORMAT'} || 'int8u'
7189 306 182 $dirInfo->{'DirStart'} || 0
7247 0 0 $tagInfo->{'Format'} || $tagTablePtr->{'FORMAT'} || 'int32u'
7276 0 0 $tagInfo->{'Format'} || $tagTablePtr->{'FORMAT'} || 'int32u'

or 3 conditions

line l !l&&r !l&&!r condition
369 394 5336 0 $options{'Type'} || ($self->{'OPTIONS'}{'PrintConv'} ? 'PrintConv' : 'ValueConv')
382 0 109 2388 $lcg eq "*" or $lcg eq "all"
420 6 0 4 $parent || shift @dirNames
546 12 43 1367 $tag =~ /^([?*\w]+)-([a-z]{2})(_[a-z]{2})$/i or $tag =~ /^([?*\w]+)-([a-z]{2,3}|[xi])(-[a-z\d]{2,8}(-[a-z\d]{1,8})*)?$/i
653 1612 0 38784 $grp[0] eq "EXIF" or $grp[0] eq "SonyIDC"
1612 32 38752 $grp[0] eq "EXIF" or $grp[0] eq "SonyIDC" or $wgAll
685 779 13682 0 $tagInfo->{'WriteGroup'} || $tagInfo->{'Table'}{'WRITE_GROUP'} || $grp[0]
710 13206 22904 0 $writable or $table->{'WRITABLE'} and not defined $writable and not $tagInfo->{'SubDirectory'}
712 81 0 3 !$tagInfo->{'WriteGroup'} || $tagInfo->{'WriteGroup'} ne 'All'
20783 0 15326 not $writeGroup or $translateWriteGroup{$writeGroup} and !$tagInfo->{'WriteGroup'} || $tagInfo->{'WriteGroup'} ne 'All'
716 1676 2295 16893 $tagInfo->{'WriteGroup'} || $tagInfo->{'Table'}{'WRITE_GROUP'}
753 363 104 398 !defined($highestQT{$lcTag}) || $highestQT{$lcTag} < $priority
771 0 0 5911 $tagInfo->{'WriteGroup'} || $table->{'WRITE_GROUP'}
810 4 1 67 $tagInfo->{'Avoid'} or $permanent
876 0 0 0 $shift || $shiftable eq '0' && $options{'DelValue'}
886 0 0 4196 $addValue or $options{'DelValue'}
888 24 15 9 $shift || $tagInfo->{'List'}
1008 0 0 4069 $addValue or $options{'DelValue'}
1019 58 37 20271 $options{'DelValue'} or $addValue
95 141 20130 $options{'DelValue'} or $addValue or $shift
1031 39 11 8 $val eq "" or $tagInfo->{'List'}
1056 8720 863 10832 $pref->{$tagInfo} or $prf
1057 5759 27 3797 $permanent or $shift
378 3361 58 $tagInfo->{'List'} and not $options{'DelValue'} or not $nvHash->{'DelValue'} && @{$nvHash->{'DelValue'};}
3739 44 14 $tagInfo->{'List'} and not $options{'DelValue'} or not $nvHash->{'DelValue'} && @{$nvHash->{'DelValue'};} or grep /^$/, @{$$nvHash{"DelValue"};}
1093 165 20170 58 $shift or not $options{'DelValue'}
1181 9 0 2 !$err || $verbose > 2
1420 0 0 10 $tag =~ s/\s*([-+])$// or $dstTag =~ s/^([-+])\s*//
1427 0 0 0 $dstTag =~ s/\^$// or length $tag
1442 8 0 23 $opts->{'EXPR'} or $opts->{'ASSIGN'}
0 23 0 $opts->{'EXPR'} or $opts->{'ASSIGN'} or &ValidTagName($tag)
1460 8 0 62 $opts->{'EXPR'} or $opts->{'ASSIGN'}
1468 35 0 0 !$f || $f eq '7'
1469 3 0 0 !$f || $f eq '8'
1479 5 4 26 $g eq "*" or $g eq "all"
1552 45 2581 6212 $set->[1] eq $lcTag or $set->[1] eq "*"
1584 8 0 63 $opts->{'EXPR'} or $opts->{'ASSIGN'}
1592 0 0 0 eval { do { $err =~ /$noWarn/ } } || $err =~ s/^\[minor\] //i && eval { do { $err =~ /$noWarn/ } }
1644 1407 8 37 $set->[1] eq "*" or $set->[3]{'WILD'}
1691 4217 12 3077 ref $tag eq "HASH" and $tag->{'IsNVH'} or not defined $tag
1743 34 26 2294 $nvHash->{'TagInfo'}{'RawConvInv'} or $nvHash->{'Shift'}
1757 0 0 26 $err or not defined $val
1997 0 0 0 $opt eq "HardLink" or $opt eq "Link"
2010 1 0 0 $doName or $doDir
2049 0 0 0 !defined($usedFlag) || $usedFlag
2050 0 0 0 $file ne $newName or $opt =~ /Link$/
2052 0 0 0 $opt =~ /Link$/ or not $self->IsSameFile($file, $newName)
2076 0 0 1 $opt eq "HardLink" or $opt eq "Link"
2169 0 0 232 defined $uid or defined $gid
2190 0 0 0 $res == 1 or not $result
2235 0 0 0 $res == 1 or not $result
2300 1 0 0 defined $newFileName || defined $newDir
2309 1 0 0 not ref $infile or UNIVERSAL::isa($infile, "GLOB")
2314 0 0 1 defined $hardLink or defined $symLink
0 0 1 defined $hardLink or defined $symLink or defined $testName
2333 0 0 0 defined $outfile or ref $infile
2345 0 0 4 $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$inRef) } } || $@
2355 0 0 0 $self->{'OPTIONS'}{'EncodeHangs'} || $@
2383 1 0 23 $outType or ref $outfile
2451 0 0 238 $infile eq '-' || $infile =~ /\|$/
2487 108 2 133 $type eq "JPEG" or $type eq "EXV"
0 0 2 $type eq "ORF" or $type eq "RAW"
2505 32 59 0 $writableType{$type}[0] || $type
2508 16 11 0 $writableType{$type} || $type
2511 91 27 0 $func || "Process$type"
2552 0 0 0 $fileExt || ($fileType eq 'TIFF' ? $tiffType : $fileType)
2601 0 0 1 $rtnVal <= 0 or not $self->{'CHANGED'}
2612 0 1 0 $len >= $size || eval { do { truncate $inRef, $len } }
2621 215 0 0 close $inRef or not defined $outBuff
2639 0 0 0 close DST or $err
2652 0 0 0 $self->Unlink($infile) or $self->Warn("Error erasing original file")
2681 230 5 9 $closeOut || defined $outBuff && ($closeIn || UNIVERSAL::isa($infile, 'GLOB'))
2793 0 0 0 $writable or $table->{'WRITABLE'} and not defined $writable and not $tagInfo->{'SubDirectory'}
2934 0 0 5467 $self->{'OPTIONS'}{'EncodeHangs'} || eval { do { require Encode; &Encode::is_utf8($$valPt) } } || $@
2940 0 0 0 $self->{'OPTIONS'}{'EncodeHangs'} || $@
2974 59 18 523 $tagInfo->{'AutoSplit'} || $self->{'OPTIONS'}{'ListSplit'}
2975 9 66 0 $wantGroup || !defined($wantGroup)
3028 23358 463 29108 defined $conv or defined $convInv
3031 153 0 23656 ref $conv eq "ARRAY" or ref $convInv eq "ARRAY"
3077 9575 5 0 !exists($$tagInfo{"${type}Inv"}) || $convInvList
3160 0 0 20 ref $val eq "HASH" or ref $val eq "ARRAY"
3163 0 0 0 $self->{'OPTIONS'}{'Binary'} or $$val =~ /^Binary data/
3217 0 0 14 $var eq "\$" or $var eq "/"
3341 0 0 0 not $tag =~ / \((\d+)\)$/ or $1 > $tagNum
3410 14 0 0 defined $val or ref $opt and $self->{'OPTIONS'}{'UndefTags'}
3420 0 0 0 $opt eq "Silent" or &$opt($self, $msg, 2)
3645 6761 49 3425 not $conv->{$_} =~ /$pattern/ or $ignorePrintConv{$_}
3684 75 29 13 @{$nvHash->{'DelValue'};} or defined $shift
3807 1 0 2 @tags || $grps{'quicktime'}
1 2 1 $grps{'xmp'} or not @tags || $grps{'quicktime'}
3815 0 3 2 $grps{'quicktime'} and not $didQT or $writeGPS and not @tags and not $grps{'xmp'}
3852 3 0 1968 $writeGroup eq "All" or $nvHash->{'WriteGroup'} eq "EXIF" and $writeGroup =~ /IFD/
3858 2392 10 21845 $opts{'delete'} || $opts{'create'} && $nvHash->{'Save'}
3944 0 0 0 $Image::ExifTool::allTables{$tableName} or $pushedTables{$tableName}
4010 0 0 2014 $grp0 eq "*" or $wgrp eq "*"
0 273 1741 $grp0 eq "*" or $wgrp eq "*" or grep /^($grp0|$wgrp)$/i, @groups
4165 141 1 1 !$altGroup || $altGroup ne $g0
4206 33966 6463 13312 $parent || shift @dirNames
4227 433 17 1034 $parent || shift @dirNames
4271 175 4 108 $delGroup->{$grp0} || $delGroup->{$grp1}
4276 3 9 30 $grp0 =~ /^(MakerNotes)$/ || $grp1 =~ /^(IFD0|ExifIFD|MakerNotes)$/
0 0 0 !($dirInfo->{'TagInfo'} && defined $dirInfo->{'TagInfo'}{'Permanent'}) || $dirInfo->{'TagInfo'}{'Permanent'}
4298 0 0 0 $self->{'TIFF_TYPE'} || $self->{'FILE_TYPE'}
4302 0 0 0 $delGroup->{$grp1} or $grp1 eq "ExifIFD"
4306 32 0 10 $dataPt or $dirInfo->{'RAF'}
4321 8 13 0 not $parent or $parent eq $right
21 0 0 not $parent or $parent eq $right or $parent eq $right2
4351 151 1483 293 $writeProc or $writeProc = $tagTablePtr->{'WRITE_PROC'}
4354 244 17 202 $dirInfo->{'DirLen'} || defined $dataPt && length $$dataPt || $dirInfo->{'RAF'}
4359 391 953 290 $Image::ExifTool::Extra{$blockName} || $dirInfo->{'TagInfo'}
4393 0 0 0 $dataPt or $dirInfo->{'RAF'}
4416 0 0 0 $dirName ne 'ICC_Profile' || $self->{'TIFF_TYPE'} ne 'IIQ'
4440 1 2 1 not defined $oldDir or $oldDir ne $name
4457 1523 41 4 length $newData || $isRewriting
4603 0 0 0 $prefix or $hexID
4612 564 53 0 defined $size or not $dataPt
4640 38 0 40 $parms{'Extra'} || $parms{'Format'} || $parms{'DataPt'} || defined $size || $tagID =~ m[/]
4652 352 38 0 $format or defined $size
4751 0 0 0 $value->{'PreviewImageStart'} || $self->{'PreviewImageStart'}
4752 0 0 0 $value->{'PreviewImageLength'} || $self->{'PreviewImageLength'}
4879 0 0 0 $ch < 194 or $ch >= 248
4998 0 61 0 $tzFlag or not defined $tzFlag
5086 0 0 0 $i < 2 or $dateOnly
5134 0 0 439 $a[0] < 1 or $a[0] > 12
5138 0 0 439 $a[1] < 1 or $a[1] > 31
5214 0 0 1475 $n > $maxInt or $d > $maxInt
5370 191 150 0 $format eq "string" or $format eq "undef"
5383 1189 0 0 &IsInt($val) or &IsHex($val)
5390 0 7 0 $val eq 'inf' || $val eq 'undef' || &IsRational($val)
5703 112 1 694 $marker == 218 or $marker == 217
5710 112 0 112 $marker == 192 || $marker & 3
112 470 0 $marker < 208 || $marker > 215
5811 112 0 112 $marker == 192 || $marker & 3
112 582 0 $marker < 208 || $marker > 215
5869 45 60 703 $markerName eq "APP0" or $dirCount{'IFD0'}
60 0 703 $markerName eq "APP0" or $dirCount{'IFD0'} or $dirCount{'ExtendedEXIF'}
5892 0 0 31 $self->{'PREVIEW_INFO'} || $self->{'LeicaTrailer'} || $self->{'HiddenData'}
6033 112 0 112 $marker == 192 || $marker & 3
0 0 582 $marker == 0 or $marker == 1
0 0 582 $marker == 0 or $marker == 1 or $marker >= 208 and $marker <= 215
6047 0 0 112 $oldOutfile or $delPreview
0 11 101 $oldOutfile or $delPreview or $trailInfo
11 4 97 $oldOutfile or $delPreview or $trailInfo or $delGroup->{'Trailer'}
4 0 97 $oldOutfile or $delPreview or $trailInfo or $delGroup->{'Trailer'} or $nvTrail
4 0 97 $oldOutfile or $delPreview or $trailInfo or $delGroup->{'Trailer'} or $nvTrail or $self->{'HiddenData'}
6061 0 15 0 $endedWithFF and $buff =~ /^\xd9/gs or $buff =~ /\xff\xd9/gs
6220 0 0 0 &Write($outfile, $previewInfo->{'Junk'}) or $err = 1
6288 121 10 396 exists $editDirs->{$markerName} or $delGroup->{'*'}
6289 0 0 26 $marker == 232 or $marker == 233
6332 0 0 0 $$segDataPt =~ /^http/ or $$segDataPt =~ /
6362 0 1 50 $delGroup->{'IFD0'} or $delGroup->{'EXIF'}
6395 0 0 46 $self->{'PREVIEW_INFO'} || $self->{'LeicaTrailer'} || $self->{'HiddenData'}
6742 0 0 4 $delGroup->{'Adobe'} or $editDirs->{'Adobe'}
6756 3 0 0 $self->IsOverwriting($nvHash, $val) or $delGroup->{'File'}
6779 12 122 332 $del or $delGroup->{'*'} and not $segType and $marker >= 224 and $marker <= 239
6810 3 0 0 &Write($outfile, $$trailPt) or $err = 1
6847 2207 439 17349 $format eq "string" or $format eq "undef"
6873 1198 177 34 $format =~ /^rational/ or $format eq "float"
1375 31 3 $format =~ /^rational/ or $format eq "float" or $format eq "double"
6893 0 1 234 $val eq "inf" or $val eq "undef"
6961 3 0 0 $result or $^O ne "MSWin32"
7008 0 0 0 defined $atime or defined $mtime
7068 0 0 0 $success or not defined $saveFile
7074 0 0 0 $@ or $Image::ExifTool::evalWarning
7075 0 0 0 $@ || $Image::ExifTool::evalWarning
7152 3 0 0 &Write($outfile, scalar "\0" x $pad) or $err = "writ"
7191 1 0 487 not defined $dirLen or $dirLen > $dataLen - $dirStart
7201 17 5 205 ref $tagTablePtr->{$tagID} eq "ARRAY" or $tagInfo->{'Condition'}
7347 0 0 0 $tagInfo->{'Format'} || $defaultFormat
7355 0 0 0 $start < $dirStart or $start > $dataLen

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
839 217 145 76 54 $listOnly ^^ $tagInfo->{'List'}
1550 9 564 6 8829 $opts->{'GROUP8'} xor $isAlt