exiftool-vendored.exe 12.99.0 → 13.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/exiftool.exe +0 -0
- package/bin/exiftool_files/exiftool.pl +183 -70
- package/bin/exiftool_files/lib/File/RandomAccess.pm +1 -1
- package/bin/exiftool_files/lib/File/RandomAccess.pod +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/AAC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +6 -6
- package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +11 -9
- package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BZZ.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BigTIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +36 -22
- package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +5 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +66 -27
- package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Casio.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DICOM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +196 -30
- package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/DjVu.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +138 -33
- package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +30 -17
- package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Fixup.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Flash.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +17 -21
- package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +144 -93
- package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +34 -30
- package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +19 -9
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +49 -14
- package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +120 -8
- package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/HTML.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +81 -2
- package/bin/exiftool_files/lib/Image/ExifTool/ICO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +8 -8
- package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +10 -7
- package/bin/exiftool_files/lib/Image/ExifTool/ISO.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/ITC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +5 -4
- package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/InfiRay.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +32 -5
- package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +10 -9
- package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/cs.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/de.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/es.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ja.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ko.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/pl.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/ru.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sk.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/sv.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/tr.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Leaf.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/LigoGPS.pm +409 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +58 -19
- package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +15 -6
- package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MIFF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MISB.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MNG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MOI.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MPF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +3 -2
- package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +22 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Motorola.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +495 -39
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nintendo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +8 -8
- package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Opus.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PCX.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +49 -18
- package/bin/exiftool_files/lib/Image/ExifTool/PGF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PICT.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +20 -8
- package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +12 -3
- package/bin/exiftool_files/lib/Image/ExifTool/PSP.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Palm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +27 -3
- package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Parrot.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +6 -5
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoCD.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +65 -4
- package/bin/exiftool_files/lib/Image/ExifTool/PostScript.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/PrintIM.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Protobuf.pm +270 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +326 -88
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +266 -200
- package/bin/exiftool_files/lib/Image/ExifTool/README +12 -2
- package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +21 -6
- package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Radiance.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Real.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +4 -4
- package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Sanyo.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Scalado.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Shift.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +5 -4
- package/bin/exiftool_files/lib/Image/ExifTool/SonyIDC.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Stim.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +6 -5
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +7025 -6967
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +477 -46
- package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +4 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +6 -6
- package/bin/exiftool_files/lib/Image/ExifTool/Vivo.pm +124 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Vorbis.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WPG.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WritePostScript.pl +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +166 -79
- package/bin/exiftool_files/lib/Image/ExifTool/WriteRIFF.pl +17 -6
- package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +89 -96
- package/bin/exiftool_files/lib/Image/ExifTool/XISF.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +39 -14
- package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +103 -1
- package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +2 -3
- package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool.pm +338 -166
- package/bin/exiftool_files/lib/Image/ExifTool.pod +119 -73
- package/bin/exiftool_files/readme_windows.txt +8 -13
- package/bin/exiftool_files/windows_exiftool.txt +102 -53
- package/package.json +11 -11
|
@@ -18,7 +18,7 @@ use strict;
|
|
|
18
18
|
use vars qw($VERSION);
|
|
19
19
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
20
20
|
|
|
21
|
-
$VERSION = '1.
|
|
21
|
+
$VERSION = '1.63';
|
|
22
22
|
|
|
23
23
|
sub ProcessID3v2($$$);
|
|
24
24
|
sub ProcessPrivate($$$);
|
|
@@ -1169,7 +1169,7 @@ sub ProcessID3v2($$$)
|
|
|
1169
1169
|
}
|
|
1170
1170
|
$tagInfo = $et->GetTagInfo($otherTable, $id) if $otherTable;
|
|
1171
1171
|
if ($tagInfo) {
|
|
1172
|
-
$et->
|
|
1172
|
+
$et->Warn("Frame '${id}' is not valid for this ID3 version", 1);
|
|
1173
1173
|
} else {
|
|
1174
1174
|
next unless $verbose or $et->Options('Unknown');
|
|
1175
1175
|
$id =~ tr/-A-Za-z0-9_//dc;
|
|
@@ -1198,7 +1198,7 @@ sub ProcessID3v2($$$)
|
|
|
1198
1198
|
}
|
|
1199
1199
|
}
|
|
1200
1200
|
if ($flags{Encrypt}) {
|
|
1201
|
-
$et->
|
|
1201
|
+
$et->Warn('Encrypted frames currently not supported');
|
|
1202
1202
|
next;
|
|
1203
1203
|
}
|
|
1204
1204
|
# extract the value
|
|
@@ -1232,7 +1232,7 @@ sub ProcessID3v2($$$)
|
|
|
1232
1232
|
next;
|
|
1233
1233
|
}
|
|
1234
1234
|
} else {
|
|
1235
|
-
$et->
|
|
1235
|
+
$et->Warn('Install Compress::Zlib to decode compressed frames');
|
|
1236
1236
|
next;
|
|
1237
1237
|
}
|
|
1238
1238
|
}
|
|
@@ -1278,9 +1278,9 @@ sub ProcessID3v2($$$)
|
|
|
1278
1278
|
my $enc = unpack('C', $val);
|
|
1279
1279
|
my ($tag, $url);
|
|
1280
1280
|
if ($enc == 1 or $enc == 2) {
|
|
1281
|
-
($tag, $url) = ($
|
|
1281
|
+
($tag, $url) = ($val =~ /^(.(?:..)*?)\0\0(.*)/s);
|
|
1282
1282
|
} else {
|
|
1283
|
-
($tag, $url) = ($
|
|
1283
|
+
($tag, $url) = ($val =~ /^(..*?)\0(.*)/s);
|
|
1284
1284
|
}
|
|
1285
1285
|
unless (defined $tag and defined $url) {
|
|
1286
1286
|
$et->Warn("Invalid $id frame value");
|
|
@@ -1293,7 +1293,7 @@ sub ProcessID3v2($$$)
|
|
|
1293
1293
|
$tagInfo = $$tagTablePtr{$id} || AddTagToTable($tagTablePtr, $id, MakeTagName($tag));
|
|
1294
1294
|
}
|
|
1295
1295
|
$url =~ s/\0.*//s;
|
|
1296
|
-
$val = $url;
|
|
1296
|
+
$val = $et->Decode($url, 'Latin');
|
|
1297
1297
|
} elsif ($id =~ /^W/) {
|
|
1298
1298
|
$val =~ s/\0.*//s; # truncate at null
|
|
1299
1299
|
} elsif ($id =~ /^(COM|COMM|ULT|USLT)$/) {
|
|
@@ -1746,7 +1746,7 @@ other types of audio files.
|
|
|
1746
1746
|
|
|
1747
1747
|
=head1 AUTHOR
|
|
1748
1748
|
|
|
1749
|
-
Copyright 2003-
|
|
1749
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1750
1750
|
|
|
1751
1751
|
This library is free software; you can redistribute it and/or modify it
|
|
1752
1752
|
under the same terms as Perl itself.
|
|
@@ -15,7 +15,7 @@ use strict;
|
|
|
15
15
|
use vars qw($VERSION $AUTOLOAD %iptcCharset);
|
|
16
16
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
17
17
|
|
|
18
|
-
$VERSION = '1.
|
|
18
|
+
$VERSION = '1.59';
|
|
19
19
|
|
|
20
20
|
%iptcCharset = (
|
|
21
21
|
"\x1b%G" => 'UTF8',
|
|
@@ -1025,7 +1025,7 @@ sub TranslateCodedString($$$$)
|
|
|
1025
1025
|
$$valPtr = $et->Decode($$valPtr, $$xlatPtr);
|
|
1026
1026
|
} else {
|
|
1027
1027
|
# don't yet support reading ISO 2022 shifted character sets
|
|
1028
|
-
$et->
|
|
1028
|
+
$et->Warn('Some IPTC characters not converted (ISO 2022 shifting not supported)');
|
|
1029
1029
|
}
|
|
1030
1030
|
}
|
|
1031
1031
|
|
|
@@ -1057,7 +1057,7 @@ sub ProcessIPTC($$$)
|
|
|
1057
1057
|
my $verbose = $et->Options('Verbose');
|
|
1058
1058
|
my $validate = $et->Options('Validate');
|
|
1059
1059
|
my $success = 0;
|
|
1060
|
-
my ($lastRec, $recordPtr, $recordName);
|
|
1060
|
+
my ($lastRec, $recordPtr, $recordName, %seen);
|
|
1061
1061
|
|
|
1062
1062
|
$verbose and $dirInfo and $et->VerboseDir('IPTC', 0, $$dirInfo{DirLen});
|
|
1063
1063
|
|
|
@@ -1083,7 +1083,7 @@ sub ProcessIPTC($$$)
|
|
|
1083
1083
|
$et->FoundTag('CurrentIPTCDigest', $md5);
|
|
1084
1084
|
}
|
|
1085
1085
|
} else {
|
|
1086
|
-
if (($Image::ExifTool::MWG::strict or $
|
|
1086
|
+
if (($Image::ExifTool::MWG::strict or $validate) and
|
|
1087
1087
|
$$et{FILE_TYPE} =~ /^(JPEG|TIFF|PSD)$/)
|
|
1088
1088
|
{
|
|
1089
1089
|
if ($Image::ExifTool::MWG::strict) {
|
|
@@ -1164,7 +1164,7 @@ sub ProcessIPTC($$$)
|
|
|
1164
1164
|
}
|
|
1165
1165
|
my $tableInfo = $tagTablePtr->{$rec};
|
|
1166
1166
|
unless ($tableInfo) {
|
|
1167
|
-
$et->
|
|
1167
|
+
$et->Warn("Unrecognized IPTC record $rec (ignored)");
|
|
1168
1168
|
$pos += $len;
|
|
1169
1169
|
next; # ignore this entry
|
|
1170
1170
|
}
|
|
@@ -1186,8 +1186,11 @@ sub ProcessIPTC($$$)
|
|
|
1186
1186
|
# - no Name so name is generated automatically with decimal tag number
|
|
1187
1187
|
AddTagToTable($recordPtr, $tag, { Unknown => 1 });
|
|
1188
1188
|
}
|
|
1189
|
-
|
|
1190
1189
|
my $tagInfo = $et->GetTagInfo($recordPtr, $tag);
|
|
1190
|
+
if ($validate and not $$tagInfo{List} and not $$tagInfo{Unknown}) {
|
|
1191
|
+
$et->Warn("Multiple IPTC $$tagInfo{Name} tags") if $seen{$tagInfo};
|
|
1192
|
+
$seen{$tagInfo} = 1;
|
|
1193
|
+
}
|
|
1191
1194
|
my $format;
|
|
1192
1195
|
# (could use $$recordPtr{FORMAT} if no Format below, but don't do this to
|
|
1193
1196
|
# be backward compatible with improperly written PhotoMechanic tags)
|
|
@@ -1284,7 +1287,7 @@ image files.
|
|
|
1284
1287
|
|
|
1285
1288
|
=head1 AUTHOR
|
|
1286
1289
|
|
|
1287
|
-
Copyright 2003-
|
|
1290
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1288
1291
|
|
|
1289
1292
|
This library is free software; you can redistribute it and/or modify it
|
|
1290
1293
|
under the same terms as Perl itself.
|
|
@@ -184,7 +184,7 @@ information from ISO 9660 disk images.
|
|
|
184
184
|
|
|
185
185
|
=head1 AUTHOR
|
|
186
186
|
|
|
187
|
-
Copyright 2003-
|
|
187
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
188
188
|
|
|
189
189
|
This library is free software; you can redistribute it and/or modify it
|
|
190
190
|
under the same terms as Perl itself.
|
|
@@ -191,7 +191,7 @@ information (including artwork images) from iTunes Cover Flow files.
|
|
|
191
191
|
|
|
192
192
|
=head1 AUTHOR
|
|
193
193
|
|
|
194
|
-
Copyright 2003-
|
|
194
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
195
195
|
|
|
196
196
|
This library is free software; you can redistribute it and/or modify it
|
|
197
197
|
under the same terms as Perl itself.
|
|
@@ -12,7 +12,7 @@ require Exporter;
|
|
|
12
12
|
|
|
13
13
|
use vars qw($VERSION @ISA @EXPORT_OK);
|
|
14
14
|
|
|
15
|
-
$VERSION = '1.
|
|
15
|
+
$VERSION = '1.14';
|
|
16
16
|
@ISA = qw(Exporter);
|
|
17
17
|
@EXPORT_OK = qw(ReadCSV ReadJSON);
|
|
18
18
|
|
|
@@ -80,14 +80,15 @@ sub ReadCSV($$;$$)
|
|
|
80
80
|
}
|
|
81
81
|
if (@tags) {
|
|
82
82
|
# save values for each tag
|
|
83
|
+
$fileInfo{_ordered_keys_} = [ ];
|
|
83
84
|
for ($i=0; $i<@vals and $i<@tags; ++$i) {
|
|
84
85
|
# ignore empty entries unless missingValue is empty too
|
|
85
86
|
next unless length $vals[$i] or defined $missingValue and $missingValue eq '';
|
|
86
87
|
# delete tag (set value to undef) if value is same as missing tag
|
|
87
88
|
$fileInfo{$tags[$i]} =
|
|
88
89
|
(defined $missingValue and $vals[$i] eq $missingValue) ? undef : $vals[$i];
|
|
90
|
+
push @{$fileInfo{_ordered_keys_}}, $tags[$i];
|
|
89
91
|
}
|
|
90
|
-
$fileInfo{_ordered_keys_} = \@tags;
|
|
91
92
|
# figure out the file name to use
|
|
92
93
|
if ($fileInfo{SourceFile}) {
|
|
93
94
|
$$database{$fileInfo{SourceFile}} = \%fileInfo;
|
|
@@ -99,7 +100,7 @@ sub ReadCSV($$;$$)
|
|
|
99
100
|
# terminate at first blank tag name (eg. extra comma at end of line)
|
|
100
101
|
last unless length $_;
|
|
101
102
|
@tags or s/^\xef\xbb\xbf//; # remove UTF-8 BOM if it exists
|
|
102
|
-
/^[
|
|
103
|
+
/^([-_0-9A-Z]+:)*[-_0-9A-Z]+#?$/i or $err = "Invalid tag name '${_}'", last;
|
|
103
104
|
push(@tags, $_);
|
|
104
105
|
}
|
|
105
106
|
last if $err;
|
|
@@ -355,7 +356,7 @@ ARRAY reference in a special "_ordered_keys_" element of this hash.
|
|
|
355
356
|
|
|
356
357
|
=head1 AUTHOR
|
|
357
358
|
|
|
358
|
-
Copyright 2003-
|
|
359
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
359
360
|
|
|
360
361
|
This library is free software; you can redistribute it and/or modify it
|
|
361
362
|
under the same terms as Perl itself.
|
|
@@ -78,7 +78,7 @@ sub ProcessIND($$)
|
|
|
78
78
|
$err = 'InDesign files larger than 2 GB not supported (LargeFileSupport not set)';
|
|
79
79
|
goto DONE;
|
|
80
80
|
} elsif ($et->Options('LargeFileSupport') eq '2') {
|
|
81
|
-
$et->
|
|
81
|
+
$et->Warn('Processing large file (LargeFileSupport is 2)');
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
if ($outfile) {
|
|
@@ -277,7 +277,7 @@ them and the LargeFileSupport option is enabled.
|
|
|
277
277
|
|
|
278
278
|
=head1 AUTHOR
|
|
279
279
|
|
|
280
|
-
Copyright 2003-
|
|
280
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
281
281
|
|
|
282
282
|
This library is free software; you can redistribute it and/or modify it
|
|
283
283
|
under the same terms as Perl itself.
|
|
@@ -206,7 +206,7 @@ IJPEG SDK, used in cameras such as the P2 Pro.
|
|
|
206
206
|
|
|
207
207
|
=head1 AUTHOR
|
|
208
208
|
|
|
209
|
-
Copyright 2003-
|
|
209
|
+
Copyright 2003-2025, Marcos Del Sol Vives (marcos at orca.pet)
|
|
210
210
|
|
|
211
211
|
This library is free software; you can redistribute it and/or modify it
|
|
212
212
|
under the same terms as Perl itself.
|
|
@@ -11,7 +11,7 @@ use strict;
|
|
|
11
11
|
use vars qw($VERSION);
|
|
12
12
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
13
13
|
|
|
14
|
-
$VERSION = '1.
|
|
14
|
+
$VERSION = '1.39';
|
|
15
15
|
|
|
16
16
|
sub ProcessOcad($$$);
|
|
17
17
|
sub ProcessJPEG_HDR($$$);
|
|
@@ -87,6 +87,11 @@ sub ProcessJPEG_HDR($$$);
|
|
|
87
87
|
Name => 'InfiRayVersion',
|
|
88
88
|
Condition => '$$valPt =~ /^....IJPEG\0/s',
|
|
89
89
|
SubDirectory => { TagTable => 'Image::ExifTool::InfiRay::Version' },
|
|
90
|
+
}, {
|
|
91
|
+
Name => 'UniformResourceName',
|
|
92
|
+
Groups => { 1 => 'APP2' },
|
|
93
|
+
Condition => '$$valPt =~ /^urn:/',
|
|
94
|
+
Notes => 'used in Apple HDR images',
|
|
90
95
|
}, {
|
|
91
96
|
Name => 'PreviewImage',
|
|
92
97
|
Condition => '$$valPt =~ /^(|QVGA\0|BGTH)\xff\xd8\xff\xdb/',
|
|
@@ -228,6 +233,10 @@ sub ProcessJPEG_HDR($$$);
|
|
|
228
233
|
Name => 'InfiRayIsothermal',
|
|
229
234
|
Condition => '$$self{HasIJPEG}',
|
|
230
235
|
SubDirectory => { TagTable => 'Image::ExifTool::InfiRay::Isothermal' },
|
|
236
|
+
}, {
|
|
237
|
+
Name => 'SEAL',
|
|
238
|
+
Condition => '$$valPt =~ /^SEAL\0/',
|
|
239
|
+
SubDirectory => { TagTable => 'Image::ExifTool::XMP::SEAL' },
|
|
231
240
|
}],
|
|
232
241
|
APP9 => [{
|
|
233
242
|
Name => 'MediaJukebox',
|
|
@@ -237,17 +246,31 @@ sub ProcessJPEG_HDR($$$);
|
|
|
237
246
|
Name => 'InfiRaySensor',
|
|
238
247
|
Condition => '$$self{HasIJPEG}',
|
|
239
248
|
SubDirectory => { TagTable => 'Image::ExifTool::InfiRay::Sensor' },
|
|
249
|
+
}, {
|
|
250
|
+
Name => 'SEAL',
|
|
251
|
+
Condition => '$$valPt =~ /^SEAL\0/',
|
|
252
|
+
SubDirectory => { TagTable => 'Image::ExifTool::XMP::SEAL' },
|
|
240
253
|
}],
|
|
241
|
-
APP10 => {
|
|
254
|
+
APP10 => [{
|
|
242
255
|
Name => 'Comment',
|
|
243
256
|
Condition => '$$valPt =~ /^UNICODE\0/',
|
|
244
257
|
Notes => 'PhotoStudio Unicode comment',
|
|
245
|
-
|
|
258
|
+
}, {
|
|
259
|
+
Name => 'HDRGainCurve', #PH (NC)
|
|
260
|
+
Condition => '$$valPt =~ /^AROT\0\0.{4}/s',
|
|
261
|
+
Groups => { 1 => 'APP10', 2 => 'Image' },
|
|
262
|
+
ValueConv => q{
|
|
263
|
+
my $n = unpack('x6N', $val);
|
|
264
|
+
return '<truncated AROT data>' if length($val)-6 < $n * 4;
|
|
265
|
+
my $str = join ' ', unpack("x10V$n", $val);
|
|
266
|
+
return \$str;
|
|
267
|
+
},
|
|
268
|
+
}],
|
|
246
269
|
APP11 => [{
|
|
247
270
|
Name => 'JPEG-HDR',
|
|
248
271
|
Condition => '$$valPt =~ /^HDR_RI /',
|
|
249
272
|
SubDirectory => { TagTable => 'Image::ExifTool::JPEG::HDR' },
|
|
250
|
-
|
|
273
|
+
}, {
|
|
251
274
|
Name => 'JUMBF',
|
|
252
275
|
Condition => '$$valPt =~ /^JP/',
|
|
253
276
|
SubDirectory => { TagTable => 'Image::ExifTool::Jpeg2000::Main' },
|
|
@@ -324,6 +347,10 @@ sub ProcessJPEG_HDR($$$);
|
|
|
324
347
|
Name => 'Samsung',
|
|
325
348
|
Condition => '$$valPt =~ /QDIOBS$/',
|
|
326
349
|
SubDirectory => { TagTable => 'Image::ExifTool::Samsung::Trailer' },
|
|
350
|
+
}, {
|
|
351
|
+
Name => 'Vivo',
|
|
352
|
+
Condition => '$$valPt =~ /^(streamdata|vivo\{")/',
|
|
353
|
+
SubDirectory => { TagTable => 'Image::ExifTool::Vivo::Main' },
|
|
327
354
|
}, {
|
|
328
355
|
Name => 'EmbeddedVideo',
|
|
329
356
|
Notes => 'extracted only when ExtractEmbedded option is used',
|
|
@@ -768,7 +795,7 @@ segments are included in the Image::ExifTool module itself.
|
|
|
768
795
|
|
|
769
796
|
=head1 AUTHOR
|
|
770
797
|
|
|
771
|
-
Copyright 2003-
|
|
798
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
772
799
|
|
|
773
800
|
This library is free software; you can redistribute it and/or modify it
|
|
774
801
|
under the same terms as Perl itself.
|
|
@@ -2590,7 +2590,7 @@ estimated JPEG quality if requested.
|
|
|
2590
2590
|
|
|
2591
2591
|
=head1 AUTHOR
|
|
2592
2592
|
|
|
2593
|
-
Copyright 2003-
|
|
2593
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
2594
2594
|
|
|
2595
2595
|
This library is free software; you can redistribute it and/or modify it
|
|
2596
2596
|
under the same terms as Perl itself.
|
|
@@ -183,7 +183,7 @@ information from JSON files.
|
|
|
183
183
|
|
|
184
184
|
=head1 AUTHOR
|
|
185
185
|
|
|
186
|
-
Copyright 2003-
|
|
186
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
187
187
|
|
|
188
188
|
This library is free software; you can redistribute it and/or modify it
|
|
189
189
|
under the same terms as Perl itself.
|
|
@@ -117,7 +117,7 @@ notes.
|
|
|
117
117
|
|
|
118
118
|
=head1 AUTHOR
|
|
119
119
|
|
|
120
|
-
Copyright 2003-
|
|
120
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
121
121
|
|
|
122
122
|
This library is free software; you can redistribute it and/or modify it
|
|
123
123
|
under the same terms as Perl itself.
|
|
@@ -16,7 +16,7 @@ use strict;
|
|
|
16
16
|
use vars qw($VERSION);
|
|
17
17
|
use Image::ExifTool qw(:DataAccess :Utils);
|
|
18
18
|
|
|
19
|
-
$VERSION = '1.
|
|
19
|
+
$VERSION = '1.43';
|
|
20
20
|
|
|
21
21
|
sub ProcessJpeg2000Box($$$);
|
|
22
22
|
sub ProcessJUMD($$$);
|
|
@@ -631,6 +631,7 @@ my %j2cMarker = (
|
|
|
631
631
|
%Image::ExifTool::Jpeg2000::ColorSpec = (
|
|
632
632
|
PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
|
|
633
633
|
WRITE_PROC => \&Image::ExifTool::WriteBinaryData, # (we don't actually call this)
|
|
634
|
+
CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
|
|
634
635
|
GROUPS => { 2 => 'Image' },
|
|
635
636
|
FORMAT => 'int8s',
|
|
636
637
|
WRITABLE => 1,
|
|
@@ -866,8 +867,8 @@ sub BrotliWarn($$;$)
|
|
|
866
867
|
{
|
|
867
868
|
my ($et, $type, $uncompress) = @_;
|
|
868
869
|
my ($enc, $mod) = $uncompress ? qw(decoding Uncompress) : qw(encoding Compress);
|
|
869
|
-
$et->
|
|
870
|
-
$et->
|
|
870
|
+
$et->Warn("Error $enc '${type}' brob box");
|
|
871
|
+
$et->Warn("Try updating to IO::${mod}::Brotli 0.004 or later");
|
|
871
872
|
}
|
|
872
873
|
|
|
873
874
|
#------------------------------------------------------------------------------
|
|
@@ -933,7 +934,7 @@ sub CreateNewBoxes($$)
|
|
|
933
934
|
$tag = 'brob';
|
|
934
935
|
}
|
|
935
936
|
} else {
|
|
936
|
-
$et->
|
|
937
|
+
$et->Warn('Install IO::Compress::Brotli to create Brotli-compressed metadata');
|
|
937
938
|
}
|
|
938
939
|
}
|
|
939
940
|
my $boxhdr = pack('N', length($newdir) + length($pad) + 8) . $tag;
|
|
@@ -1285,7 +1286,7 @@ sub ProcessJpeg2000Box($$$)
|
|
|
1285
1286
|
++$$et{CHANGED};
|
|
1286
1287
|
}
|
|
1287
1288
|
} else {
|
|
1288
|
-
$et->
|
|
1289
|
+
$et->Warn('Install IO::Compress::Brotli to write Brotli-compressed metadata');
|
|
1289
1290
|
}
|
|
1290
1291
|
} elsif (not $compress and $boxID eq 'brob') {
|
|
1291
1292
|
# (in this case, ProcessBrotli has returned uncompressed data,
|
|
@@ -1338,7 +1339,7 @@ sub ProcessJpeg2000Box($$$)
|
|
|
1338
1339
|
if (defined $val) {
|
|
1339
1340
|
my $key = $et->FoundTag($tagInfo, $val);
|
|
1340
1341
|
# save Rational value
|
|
1341
|
-
$$et{
|
|
1342
|
+
$$et{TAG_EXTRA}{$key}{Rational} = $rational if defined $rational and defined $key;
|
|
1342
1343
|
}
|
|
1343
1344
|
} elsif ($outfile) {
|
|
1344
1345
|
my $boxhdr = pack('N', $boxLen + 8) . $boxID;
|
|
@@ -1410,7 +1411,7 @@ sub ProcessBrotli($$$)
|
|
|
1410
1411
|
}
|
|
1411
1412
|
if (eval { require IO::Uncompress::Brotli }) {
|
|
1412
1413
|
if ($isWriting and not eval { require IO::Compress::Brotli }) {
|
|
1413
|
-
$et->
|
|
1414
|
+
$et->Warn('Install IO::Compress::Brotli to write Brotli-compressed metadata');
|
|
1414
1415
|
return undef;
|
|
1415
1416
|
}
|
|
1416
1417
|
my $compress = $et->Options('Compress');
|
|
@@ -1455,7 +1456,7 @@ sub ProcessBrotli($$$)
|
|
|
1455
1456
|
return $type . $dat;
|
|
1456
1457
|
}
|
|
1457
1458
|
} else {
|
|
1458
|
-
$et->
|
|
1459
|
+
$et->Warn('Install IO::Uncompress::Brotli to decode Brotli-compressed metadata');
|
|
1459
1460
|
return undef if $isWriting;
|
|
1460
1461
|
}
|
|
1461
1462
|
return 1;
|
|
@@ -1670,7 +1671,7 @@ files.
|
|
|
1670
1671
|
|
|
1671
1672
|
=head1 AUTHOR
|
|
1672
1673
|
|
|
1673
|
-
Copyright 2003-
|
|
1674
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1674
1675
|
|
|
1675
1676
|
This library is free software; you can redistribute it and/or modify it
|
|
1676
1677
|
under the same terms as Perl itself.
|
|
@@ -3252,7 +3252,7 @@ interpret Kodak maker notes EXIF meta information.
|
|
|
3252
3252
|
|
|
3253
3253
|
=head1 AUTHOR
|
|
3254
3254
|
|
|
3255
|
-
Copyright 2003-
|
|
3255
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
3256
3256
|
|
|
3257
3257
|
This library is free software; you can redistribute it and/or modify it
|
|
3258
3258
|
under the same terms as Perl itself.
|
|
@@ -152,7 +152,7 @@ meta information from Kyocera Contax N Digital RAW images.
|
|
|
152
152
|
|
|
153
153
|
=head1 AUTHOR
|
|
154
154
|
|
|
155
|
-
Copyright 2003-
|
|
155
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
156
156
|
|
|
157
157
|
This library is free software; you can redistribute it and/or modify it
|
|
158
158
|
under the same terms as Perl itself.
|
|
@@ -147,7 +147,7 @@ metadata from Leica Image File (LIF) images.
|
|
|
147
147
|
|
|
148
148
|
=head1 AUTHOR
|
|
149
149
|
|
|
150
|
-
Copyright 2003-
|
|
150
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
151
151
|
|
|
152
152
|
This library is free software; you can redistribute it and/or modify it
|
|
153
153
|
under the same terms as Perl itself.
|
|
@@ -650,7 +650,7 @@ sub ProcessLNK($$)
|
|
|
650
650
|
my $mask = 0x04 << $i;
|
|
651
651
|
next unless $flags & $mask;
|
|
652
652
|
$raf->Read($buff, 2) or return 1;
|
|
653
|
-
$len = unpack('v', $buff);
|
|
653
|
+
$len = unpack('v', $buff) or next;
|
|
654
654
|
$len *= 2 if $flags & 0x80; # characters are 2 bytes if Unicode flag is set
|
|
655
655
|
$raf->Read($buff, $len) or return 1;
|
|
656
656
|
my $val;
|
|
@@ -703,7 +703,7 @@ information MS Shell Link (Windows shortcut) files.
|
|
|
703
703
|
|
|
704
704
|
=head1 AUTHOR
|
|
705
705
|
|
|
706
|
-
Copyright 2003-
|
|
706
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
707
707
|
|
|
708
708
|
This library is free software; you can redistribute it and/or modify it
|
|
709
709
|
under the same terms as Perl itself.
|
|
@@ -1570,7 +1570,7 @@ and values.
|
|
|
1570
1570
|
|
|
1571
1571
|
=head1 AUTHOR
|
|
1572
1572
|
|
|
1573
|
-
Copyright 2003-
|
|
1573
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1574
1574
|
|
|
1575
1575
|
This library is free software; you can redistribute it and/or modify it
|
|
1576
1576
|
under the same terms as Perl itself.
|
|
@@ -8702,7 +8702,7 @@ and values.
|
|
|
8702
8702
|
|
|
8703
8703
|
=head1 AUTHOR
|
|
8704
8704
|
|
|
8705
|
-
Copyright 2003-
|
|
8705
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
8706
8706
|
|
|
8707
8707
|
This library is free software; you can redistribute it and/or modify it
|
|
8708
8708
|
under the same terms as Perl itself.
|
|
@@ -989,7 +989,7 @@ and values.
|
|
|
989
989
|
|
|
990
990
|
=head1 AUTHOR
|
|
991
991
|
|
|
992
|
-
Copyright 2003-
|
|
992
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
993
993
|
|
|
994
994
|
This library is free software; you can redistribute it and/or modify it
|
|
995
995
|
under the same terms as Perl itself.
|
|
@@ -1032,7 +1032,7 @@ and values.
|
|
|
1032
1032
|
|
|
1033
1033
|
=head1 AUTHOR
|
|
1034
1034
|
|
|
1035
|
-
Copyright 2003-
|
|
1035
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1036
1036
|
|
|
1037
1037
|
This library is free software; you can redistribute it and/or modify it
|
|
1038
1038
|
under the same terms as Perl itself.
|
|
@@ -4005,7 +4005,7 @@ and values.
|
|
|
4005
4005
|
|
|
4006
4006
|
=head1 AUTHOR
|
|
4007
4007
|
|
|
4008
|
-
Copyright 2003-
|
|
4008
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
4009
4009
|
|
|
4010
4010
|
This library is free software; you can redistribute it and/or modify it
|
|
4011
4011
|
under the same terms as Perl itself.
|
|
@@ -2878,7 +2878,7 @@ and values.
|
|
|
2878
2878
|
|
|
2879
2879
|
=head1 AUTHOR
|
|
2880
2880
|
|
|
2881
|
-
Copyright 2003-
|
|
2881
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
2882
2882
|
|
|
2883
2883
|
This library is free software; you can redistribute it and/or modify it
|
|
2884
2884
|
under the same terms as Perl itself.
|
|
@@ -11270,7 +11270,7 @@ and values.
|
|
|
11270
11270
|
|
|
11271
11271
|
=head1 AUTHOR
|
|
11272
11272
|
|
|
11273
|
-
Copyright 2003-
|
|
11273
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
11274
11274
|
|
|
11275
11275
|
This library is free software; you can redistribute it and/or modify it
|
|
11276
11276
|
under the same terms as Perl itself.
|
|
@@ -7903,7 +7903,7 @@ and values.
|
|
|
7903
7903
|
|
|
7904
7904
|
=head1 AUTHOR
|
|
7905
7905
|
|
|
7906
|
-
Copyright 2003-
|
|
7906
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
7907
7907
|
|
|
7908
7908
|
This library is free software; you can redistribute it and/or modify it
|
|
7909
7909
|
under the same terms as Perl itself.
|
|
@@ -5841,7 +5841,7 @@ and values.
|
|
|
5841
5841
|
|
|
5842
5842
|
=head1 AUTHOR
|
|
5843
5843
|
|
|
5844
|
-
Copyright 2003-
|
|
5844
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
5845
5845
|
|
|
5846
5846
|
This library is free software; you can redistribute it and/or modify it
|
|
5847
5847
|
under the same terms as Perl itself.
|
|
@@ -2316,7 +2316,7 @@ and values.
|
|
|
2316
2316
|
|
|
2317
2317
|
=head1 AUTHOR
|
|
2318
2318
|
|
|
2319
|
-
Copyright 2003-
|
|
2319
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
2320
2320
|
|
|
2321
2321
|
This library is free software; you can redistribute it and/or modify it
|
|
2322
2322
|
under the same terms as Perl itself.
|
|
@@ -3208,7 +3208,7 @@ and values.
|
|
|
3208
3208
|
|
|
3209
3209
|
=head1 AUTHOR
|
|
3210
3210
|
|
|
3211
|
-
Copyright 2003-
|
|
3211
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
3212
3212
|
|
|
3213
3213
|
This library is free software; you can redistribute it and/or modify it
|
|
3214
3214
|
under the same terms as Perl itself.
|
|
@@ -1258,7 +1258,7 @@ and values.
|
|
|
1258
1258
|
|
|
1259
1259
|
=head1 AUTHOR
|
|
1260
1260
|
|
|
1261
|
-
Copyright 2003-
|
|
1261
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1262
1262
|
|
|
1263
1263
|
This library is free software; you can redistribute it and/or modify it
|
|
1264
1264
|
under the same terms as Perl itself.
|
|
@@ -5718,7 +5718,7 @@ and values.
|
|
|
5718
5718
|
|
|
5719
5719
|
=head1 AUTHOR
|
|
5720
5720
|
|
|
5721
|
-
Copyright 2003-
|
|
5721
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
5722
5722
|
|
|
5723
5723
|
This library is free software; you can redistribute it and/or modify it
|
|
5724
5724
|
under the same terms as Perl itself.
|
|
@@ -1789,7 +1789,7 @@ and values.
|
|
|
1789
1789
|
|
|
1790
1790
|
=head1 AUTHOR
|
|
1791
1791
|
|
|
1792
|
-
Copyright 2003-
|
|
1792
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1793
1793
|
|
|
1794
1794
|
This library is free software; you can redistribute it and/or modify it
|
|
1795
1795
|
under the same terms as Perl itself.
|
|
@@ -620,7 +620,7 @@ and values.
|
|
|
620
620
|
|
|
621
621
|
=head1 AUTHOR
|
|
622
622
|
|
|
623
|
-
Copyright 2003-
|
|
623
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
624
624
|
|
|
625
625
|
This library is free software; you can redistribute it and/or modify it
|
|
626
626
|
under the same terms as Perl itself.
|
|
@@ -528,7 +528,7 @@ and values.
|
|
|
528
528
|
|
|
529
529
|
=head1 AUTHOR
|
|
530
530
|
|
|
531
|
-
Copyright 2003-
|
|
531
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
532
532
|
|
|
533
533
|
This library is free software; you can redistribute it and/or modify it
|
|
534
534
|
under the same terms as Perl itself.
|
|
@@ -1313,7 +1313,7 @@ and values.
|
|
|
1313
1313
|
|
|
1314
1314
|
=head1 AUTHOR
|
|
1315
1315
|
|
|
1316
|
-
Copyright 2003-
|
|
1316
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
1317
1317
|
|
|
1318
1318
|
This library is free software; you can redistribute it and/or modify it
|
|
1319
1319
|
under the same terms as Perl itself.
|
|
@@ -784,7 +784,7 @@ and values.
|
|
|
784
784
|
|
|
785
785
|
=head1 AUTHOR
|
|
786
786
|
|
|
787
|
-
Copyright 2003-
|
|
787
|
+
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
|
|
788
788
|
|
|
789
789
|
This library is free software; you can redistribute it and/or modify it
|
|
790
790
|
under the same terms as Perl itself.
|