exiftool-vendored.exe 12.80.0 → 12.82.1
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/README.md +6 -0
- package/bin/exiftool.exe +0 -0
- package/bin/exiftool_files/Changes +44 -0
- package/bin/exiftool_files/Licenses_Strawberry_Perl.zip +0 -0
- package/bin/exiftool_files/README +3 -2
- package/bin/exiftool_files/exiftool.pl +36 -14
- package/bin/exiftool_files/lib/Archive/Zip/Archive.pm +399 -65
- package/bin/exiftool_files/lib/Archive/Zip/DirectoryMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/FileMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/Member.pm +499 -195
- package/bin/exiftool_files/lib/Archive/Zip/NewFileMember.pm +1 -1
- package/bin/exiftool_files/lib/Archive/Zip/StringMember.pm +2 -2
- package/bin/exiftool_files/lib/Archive/Zip/ZipFileMember.pm +79 -20
- package/bin/exiftool_files/lib/Archive/Zip.pm +179 -29
- package/bin/exiftool_files/lib/AutoLoader.pm +453 -0
- package/bin/exiftool_files/lib/B/Deparse.pm +209 -137
- package/bin/exiftool_files/lib/B.pm +1 -1
- package/bin/exiftool_files/lib/Benchmark.pm +1123 -0
- package/bin/exiftool_files/lib/Class/Struct.pm +2 -2
- package/bin/exiftool_files/lib/Compress/Raw/Bzip2.pm +14 -9
- package/bin/exiftool_files/lib/Compress/Raw/Lzma.pm +982 -0
- package/bin/exiftool_files/lib/Compress/Raw/Zlib.pm +91 -86
- package/bin/exiftool_files/lib/Compress/Zlib.pm +105 -100
- package/bin/exiftool_files/lib/Config.pm +9 -9
- package/bin/exiftool_files/lib/Config_heavy.pl +36 -33
- package/bin/exiftool_files/lib/CryptX.pm +2 -82
- package/bin/exiftool_files/lib/Data/Dumper.pm +2 -2
- package/bin/exiftool_files/lib/Digest/MD5.pm +12 -9
- package/bin/exiftool_files/lib/Digest/Perl/MD5.pm +1 -191
- package/bin/exiftool_files/lib/Digest/base.pm +26 -20
- package/bin/exiftool_files/lib/DynaLoader.pm +7 -4
- package/bin/exiftool_files/lib/Encode.pm +3 -3
- package/bin/exiftool_files/lib/Errno.pm +13 -13
- package/bin/exiftool_files/lib/Exporter/Heavy.pm +2 -2
- package/bin/exiftool_files/lib/Exporter.pm +1 -1
- package/bin/exiftool_files/lib/ExtUtils/Command/MM.pm +323 -0
- package/bin/exiftool_files/lib/ExtUtils/Command.pm +382 -0
- package/bin/exiftool_files/lib/File/Find.pm +1 -1
- package/bin/exiftool_files/lib/File/Glob.pm +1 -8
- package/bin/exiftool_files/lib/File/GlobMapper.pm +2 -2
- package/bin/exiftool_files/lib/File/HomeDir/Darwin/Carbon.pm +2 -40
- package/bin/exiftool_files/lib/File/HomeDir/Darwin/Cocoa.pm +2 -34
- package/bin/exiftool_files/lib/File/HomeDir/Darwin.pm +2 -28
- package/bin/exiftool_files/lib/File/HomeDir/Driver.pm +2 -35
- package/bin/exiftool_files/lib/File/HomeDir/FreeDesktop.pm +2 -62
- package/bin/exiftool_files/lib/File/HomeDir/MacOS9.pm +2 -53
- package/bin/exiftool_files/lib/File/HomeDir/Test.pm +2 -43
- package/bin/exiftool_files/lib/File/HomeDir/Unix.pm +2 -53
- package/bin/exiftool_files/lib/File/HomeDir/Windows.pm +2 -69
- package/bin/exiftool_files/lib/File/HomeDir.pm +5 -416
- package/bin/exiftool_files/lib/File/Path.pm +3 -3
- package/bin/exiftool_files/lib/File/Spec/Win32.pm +2 -2
- package/bin/exiftool_files/lib/File/Temp.pm +70 -35
- package/bin/exiftool_files/lib/File/Which.pm +1 -240
- package/bin/exiftool_files/lib/File/stat.pm +3 -2
- package/bin/exiftool_files/lib/IO/Compress/Adapter/Bzip2.pm +16 -17
- package/bin/exiftool_files/lib/IO/Compress/Adapter/Deflate.pm +19 -20
- package/bin/exiftool_files/lib/IO/Compress/Base/Common.pm +5 -5
- package/bin/exiftool_files/lib/IO/Compress/Base.pm +35 -26
- package/bin/exiftool_files/lib/IO/Compress/Brotli.pm +159 -0
- package/bin/exiftool_files/lib/IO/Compress/Bzip2.pm +50 -25
- package/bin/exiftool_files/lib/IO/Compress/Gzip/Constants.pm +6 -6
- package/bin/exiftool_files/lib/IO/Compress/Gzip.pm +58 -32
- package/bin/exiftool_files/lib/IO/Compress/RawDeflate.pm +63 -38
- package/bin/exiftool_files/lib/IO/Compress/Zlib/Extra.pm +20 -20
- package/bin/exiftool_files/lib/IO/Dir.pm +1 -1
- package/bin/exiftool_files/lib/IO/File.pm +1 -1
- package/bin/exiftool_files/lib/IO/Handle.pm +1 -21
- package/bin/exiftool_files/lib/IO/Pipe.pm +1 -1
- package/bin/exiftool_files/lib/IO/Seekable.pm +1 -1
- package/bin/exiftool_files/lib/IO/Select.pm +16 -2
- package/bin/exiftool_files/lib/IO/Socket/INET.pm +14 -9
- package/bin/exiftool_files/lib/IO/Socket/UNIX.pm +17 -1
- package/bin/exiftool_files/lib/IO/Socket.pm +474 -126
- package/bin/exiftool_files/lib/IO/String.pm +425 -0
- package/bin/exiftool_files/lib/IO/Uncompress/Adapter/Inflate.pm +13 -14
- package/bin/exiftool_files/lib/IO/Uncompress/Base.pm +142 -132
- package/bin/exiftool_files/lib/IO/Uncompress/Brotli.pm +119 -0
- package/bin/exiftool_files/lib/IO/Uncompress/Gunzip.pm +43 -37
- package/bin/exiftool_files/lib/IO/Uncompress/RawInflate.pm +49 -43
- package/bin/exiftool_files/lib/IO.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +44 -31
- package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +20 -7
- package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +543 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +332 -149
- package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +9 -4
- package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +32 -4
- package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +2 -2
- package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +331 -22
- package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +55 -1
- package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +1 -0
- package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +21 -3
- package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +3 -3
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +40 -24
- package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +61 -30
- package/bin/exiftool_files/lib/Image/ExifTool/README +2 -0
- package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +1 -1
- package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +4815 -4775
- package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +931 -617
- package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +30 -8
- package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +10 -4
- package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +4 -2
- package/bin/exiftool_files/lib/Image/ExifTool.pm +77 -41
- package/bin/exiftool_files/lib/Image/ExifTool.pod +24 -11
- package/bin/exiftool_files/lib/List/Util.pm +97 -8
- package/bin/exiftool_files/lib/MIME/Base64.pm +5 -5
- package/bin/exiftool_files/lib/MIME/Charset/_Compat.pm +106 -0
- package/bin/exiftool_files/lib/MIME/Charset.pm +1303 -0
- package/bin/exiftool_files/lib/Math/BigFloat.pm +444 -27
- package/bin/exiftool_files/lib/Math/BigInt/Calc.pm +296 -313
- package/bin/exiftool_files/lib/Math/BigInt/FastCalc.pm +1 -1
- package/bin/exiftool_files/lib/Math/BigInt/GMP.pm +2 -115
- package/bin/exiftool_files/lib/Math/BigInt/LTM.pm +2 -24
- package/bin/exiftool_files/lib/Math/BigInt/Lib.pm +61 -32
- package/bin/exiftool_files/lib/Math/BigInt.pm +292 -107
- package/bin/exiftool_files/lib/POSIX.pm +1 -1
- package/bin/exiftool_files/lib/PerlIO/scalar.pm +41 -0
- package/bin/exiftool_files/lib/PerlIO.pm +397 -0
- package/bin/exiftool_files/lib/Portable/CPAN.pm +94 -94
- package/bin/exiftool_files/lib/Portable/Config.pm +94 -94
- package/bin/exiftool_files/lib/Portable/FileSpec.pm +180 -180
- package/bin/exiftool_files/lib/Portable/HomeDir.pm +110 -110
- package/bin/exiftool_files/lib/Portable/LoadYaml.pm +430 -430
- package/bin/exiftool_files/lib/Portable/minicpan.pm +55 -55
- package/bin/exiftool_files/lib/Portable.pm +246 -320
- package/bin/exiftool_files/lib/Scalar/Util.pm +9 -4
- package/bin/exiftool_files/lib/Socket.pm +16 -12
- package/bin/exiftool_files/lib/Storable.pm +1444 -1441
- package/bin/exiftool_files/lib/TAP/Base.pm +133 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Base.pm +467 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Color.pm +116 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console/ParallelSession.pm +201 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console/Session.pm +205 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Console.pm +100 -0
- package/bin/exiftool_files/lib/TAP/Formatter/File/Session.pm +95 -0
- package/bin/exiftool_files/lib/TAP/Formatter/File.pm +56 -0
- package/bin/exiftool_files/lib/TAP/Formatter/Session.pm +220 -0
- package/bin/exiftool_files/lib/TAP/Harness/Beyond.pod +426 -0
- package/bin/exiftool_files/lib/TAP/Harness/Env.pm +215 -0
- package/bin/exiftool_files/lib/TAP/Harness.pm +1054 -0
- package/bin/exiftool_files/lib/TAP/Object.pm +155 -0
- package/bin/exiftool_files/lib/TAP/Parser/Aggregator.pm +414 -0
- package/bin/exiftool_files/lib/TAP/Parser/Grammar.pm +584 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Array.pm +100 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Process.pm +378 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator/Stream.pm +116 -0
- package/bin/exiftool_files/lib/TAP/Parser/Iterator.pm +162 -0
- package/bin/exiftool_files/lib/TAP/Parser/IteratorFactory.pm +339 -0
- package/bin/exiftool_files/lib/TAP/Parser/Multiplexer.pm +194 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Bailout.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Comment.pm +60 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Plan.pm +119 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Pragma.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Test.pm +271 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Unknown.pm +48 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/Version.pm +62 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result/YAML.pm +61 -0
- package/bin/exiftool_files/lib/TAP/Parser/Result.pm +297 -0
- package/bin/exiftool_files/lib/TAP/Parser/ResultFactory.pm +183 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Job.pm +127 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler/Spinner.pm +61 -0
- package/bin/exiftool_files/lib/TAP/Parser/Scheduler.pm +448 -0
- package/bin/exiftool_files/lib/TAP/Parser/Source.pm +381 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Executable.pm +184 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/File.pm +136 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Handle.pm +124 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/Perl.pm +370 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler/RawTAP.pm +130 -0
- package/bin/exiftool_files/lib/TAP/Parser/SourceHandler.pm +191 -0
- package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Reader.pm +332 -0
- package/bin/exiftool_files/lib/TAP/Parser/YAMLish/Writer.pm +254 -0
- package/bin/exiftool_files/lib/TAP/Parser.pm +1931 -0
- package/bin/exiftool_files/lib/Test/Builder/Formatter.pm +107 -0
- package/bin/exiftool_files/lib/Test/Builder/IO/Scalar.pm +659 -0
- package/bin/exiftool_files/lib/Test/Builder/Module.pm +182 -0
- package/bin/exiftool_files/lib/Test/Builder/Tester/Color.pm +51 -0
- package/bin/exiftool_files/lib/Test/Builder/Tester.pm +675 -0
- package/bin/exiftool_files/lib/Test/Builder/TodoDiag.pm +68 -0
- package/bin/exiftool_files/lib/Test/Builder.pm +2653 -0
- package/bin/exiftool_files/lib/Test/Harness.pm +618 -0
- package/bin/exiftool_files/lib/Test/More.pm +1997 -0
- package/bin/exiftool_files/lib/Test/Simple.pm +220 -0
- package/bin/exiftool_files/lib/Test/Tester/Capture.pm +241 -0
- package/bin/exiftool_files/lib/Test/Tester/CaptureRunner.pm +79 -0
- package/bin/exiftool_files/lib/Test/Tester/Delegate.pm +45 -0
- package/bin/exiftool_files/lib/Test/Tester.pm +695 -0
- package/bin/exiftool_files/lib/Test/Tutorial.pod +618 -0
- package/bin/exiftool_files/lib/Test/use/ok.pm +64 -0
- package/bin/exiftool_files/lib/Text/ParseWords.pm +303 -0
- package/bin/exiftool_files/lib/Tie/StdHandle.pm +2 -2
- package/bin/exiftool_files/lib/Time/HiRes.pm +73 -68
- package/bin/exiftool_files/lib/Time/Local.pm +82 -35
- package/bin/exiftool_files/lib/Time/Piece.pm +19 -4
- package/bin/exiftool_files/lib/Time/Seconds.pm +1 -1
- package/bin/exiftool_files/lib/UNIVERSAL.pm +203 -0
- package/bin/exiftool_files/lib/Unicode/GCString.pm +60 -0
- package/bin/exiftool_files/lib/Unicode/LineBreak/Constants.pm +68 -0
- package/bin/exiftool_files/lib/Unicode/LineBreak.pm +248 -0
- package/bin/exiftool_files/lib/Win32/API/Struct.pm +1 -177
- package/bin/exiftool_files/lib/Win32/API/Type.pm +1 -100
- package/bin/exiftool_files/lib/Win32/API.pm +1 -830
- package/bin/exiftool_files/lib/Win32/FindFile.pm +2 -123
- package/bin/exiftool_files/lib/Win32.pm +213 -89
- package/bin/exiftool_files/lib/Win32API/File.pm +1 -1
- package/bin/exiftool_files/lib/auto/B/B.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Bzip2/Bzip2.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/Lzma.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Lzma/autosplit.ix +3 -0
- package/bin/exiftool_files/lib/auto/Compress/Raw/Zlib/Zlib.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/CryptX/CryptX.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Cwd/Cwd.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Data/Dumper/Dumper.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Digest/MD5/MD5.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Digest/SHA/SHA.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Encode/Encode.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Fcntl/Fcntl.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/File/Glob/Glob.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/IO/Compress/Brotli/Brotli.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/IO/IO.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/List/Util/Util.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/MIME/Base64/Base64.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Math/BigInt/FastCalc/FastCalc.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Math/BigInt/GMP/GMP.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/POSIX/POSIX.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/PerlIO/scalar/scalar.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Socket/Socket.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Storable/Storable.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Time/HiRes/HiRes.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Time/Piece/Piece.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Unicode/LineBreak/LineBreak.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/API/API.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/FindFile/FindFile.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32/Win32.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/Win32API/File/File.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/mro/mro.xs.dll +0 -0
- package/bin/exiftool_files/lib/auto/re/re.xs.dll +0 -0
- package/bin/exiftool_files/lib/feature.pm +49 -17
- package/bin/exiftool_files/lib/mro.pm +4 -20
- package/bin/exiftool_files/lib/overload.pm +15 -15
- package/bin/exiftool_files/lib/parent.pm +10 -2
- package/bin/exiftool_files/lib/re.pm +91 -33
- package/bin/exiftool_files/lib/warnings.pm +17 -6
- package/bin/exiftool_files/libgcc_s_seh-1.dll +0 -0
- package/bin/exiftool_files/liblzma-5__.dll +0 -0
- package/bin/exiftool_files/libstdc++-6.dll +0 -0
- package/bin/exiftool_files/libwinpthread-1.dll +0 -0
- package/bin/exiftool_files/perl.exe +0 -0
- package/bin/exiftool_files/perl532.dll +0 -0
- package/package.json +7 -5
- package/bin/exiftool_files/libgcc_s_dw2-1.dll +0 -0
- package/bin/exiftool_files/perl530.dll +0 -0
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
package ExtUtils::Command;
|
|
2
|
+
|
|
3
|
+
use 5.00503;
|
|
4
|
+
use strict;
|
|
5
|
+
use warnings;
|
|
6
|
+
require Exporter;
|
|
7
|
+
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
|
|
8
|
+
@ISA = qw(Exporter);
|
|
9
|
+
@EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
|
|
10
|
+
dos2unix);
|
|
11
|
+
$VERSION = '7.58';
|
|
12
|
+
$VERSION =~ tr/_//d;
|
|
13
|
+
|
|
14
|
+
my $Is_VMS = $^O eq 'VMS';
|
|
15
|
+
my $Is_VMS_mode = $Is_VMS;
|
|
16
|
+
my $Is_VMS_noefs = $Is_VMS;
|
|
17
|
+
my $Is_Win32 = $^O eq 'MSWin32';
|
|
18
|
+
|
|
19
|
+
if( $Is_VMS ) {
|
|
20
|
+
my $vms_unix_rpt;
|
|
21
|
+
my $vms_efs;
|
|
22
|
+
my $vms_case;
|
|
23
|
+
|
|
24
|
+
if (eval { local $SIG{__DIE__};
|
|
25
|
+
local @INC = @INC;
|
|
26
|
+
pop @INC if $INC[-1] eq '.';
|
|
27
|
+
require VMS::Feature; }) {
|
|
28
|
+
$vms_unix_rpt = VMS::Feature::current("filename_unix_report");
|
|
29
|
+
$vms_efs = VMS::Feature::current("efs_charset");
|
|
30
|
+
$vms_case = VMS::Feature::current("efs_case_preserve");
|
|
31
|
+
} else {
|
|
32
|
+
my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
|
|
33
|
+
my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
|
|
34
|
+
my $efs_case = $ENV{'DECC$EFS_CASE_PRESERVE'} || '';
|
|
35
|
+
$vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
|
|
36
|
+
$vms_efs = $efs_charset =~ /^[ET1]/i;
|
|
37
|
+
$vms_case = $efs_case =~ /^[ET1]/i;
|
|
38
|
+
}
|
|
39
|
+
$Is_VMS_mode = 0 if $vms_unix_rpt;
|
|
40
|
+
$Is_VMS_noefs = 0 if ($vms_efs);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
=head1 NAME
|
|
45
|
+
|
|
46
|
+
ExtUtils::Command - utilities to replace common UNIX commands in Makefiles etc.
|
|
47
|
+
|
|
48
|
+
=head1 SYNOPSIS
|
|
49
|
+
|
|
50
|
+
perl -MExtUtils::Command -e cat files... > destination
|
|
51
|
+
perl -MExtUtils::Command -e mv source... destination
|
|
52
|
+
perl -MExtUtils::Command -e cp source... destination
|
|
53
|
+
perl -MExtUtils::Command -e touch files...
|
|
54
|
+
perl -MExtUtils::Command -e rm_f files...
|
|
55
|
+
perl -MExtUtils::Command -e rm_rf directories...
|
|
56
|
+
perl -MExtUtils::Command -e mkpath directories...
|
|
57
|
+
perl -MExtUtils::Command -e eqtime source destination
|
|
58
|
+
perl -MExtUtils::Command -e test_f file
|
|
59
|
+
perl -MExtUtils::Command -e test_d directory
|
|
60
|
+
perl -MExtUtils::Command -e chmod mode files...
|
|
61
|
+
...
|
|
62
|
+
|
|
63
|
+
=head1 DESCRIPTION
|
|
64
|
+
|
|
65
|
+
The module is used to replace common UNIX commands. In all cases the
|
|
66
|
+
functions work from @ARGV rather than taking arguments. This makes
|
|
67
|
+
them easier to deal with in Makefiles. Call them like this:
|
|
68
|
+
|
|
69
|
+
perl -MExtUtils::Command -e some_command some files to work on
|
|
70
|
+
|
|
71
|
+
and I<NOT> like this:
|
|
72
|
+
|
|
73
|
+
perl -MExtUtils::Command -e 'some_command qw(some files to work on)'
|
|
74
|
+
|
|
75
|
+
For that use L<Shell::Command>.
|
|
76
|
+
|
|
77
|
+
Filenames with * and ? will be glob expanded.
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
=head2 FUNCTIONS
|
|
81
|
+
|
|
82
|
+
=over 4
|
|
83
|
+
|
|
84
|
+
=cut
|
|
85
|
+
|
|
86
|
+
# VMS uses % instead of ? to mean "one character"
|
|
87
|
+
my $wild_regex = $Is_VMS ? '*%' : '*?';
|
|
88
|
+
sub expand_wildcards
|
|
89
|
+
{
|
|
90
|
+
@ARGV = map(/[$wild_regex]/o ? glob($_) : $_,@ARGV);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
=item cat
|
|
95
|
+
|
|
96
|
+
cat file ...
|
|
97
|
+
|
|
98
|
+
Concatenates all files mentioned on command line to STDOUT.
|
|
99
|
+
|
|
100
|
+
=cut
|
|
101
|
+
|
|
102
|
+
sub cat ()
|
|
103
|
+
{
|
|
104
|
+
expand_wildcards();
|
|
105
|
+
print while (<>);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
=item eqtime
|
|
109
|
+
|
|
110
|
+
eqtime source destination
|
|
111
|
+
|
|
112
|
+
Sets modified time of destination to that of source.
|
|
113
|
+
|
|
114
|
+
=cut
|
|
115
|
+
|
|
116
|
+
sub eqtime
|
|
117
|
+
{
|
|
118
|
+
my ($src,$dst) = @ARGV;
|
|
119
|
+
local @ARGV = ($dst); touch(); # in case $dst doesn't exist
|
|
120
|
+
utime((stat($src))[8,9],$dst);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
=item rm_rf
|
|
124
|
+
|
|
125
|
+
rm_rf files or directories ...
|
|
126
|
+
|
|
127
|
+
Removes files and directories - recursively (even if readonly)
|
|
128
|
+
|
|
129
|
+
=cut
|
|
130
|
+
|
|
131
|
+
sub rm_rf
|
|
132
|
+
{
|
|
133
|
+
expand_wildcards();
|
|
134
|
+
require File::Path;
|
|
135
|
+
File::Path::rmtree([grep -e $_,@ARGV],0,0);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
=item rm_f
|
|
139
|
+
|
|
140
|
+
rm_f file ...
|
|
141
|
+
|
|
142
|
+
Removes files (even if readonly)
|
|
143
|
+
|
|
144
|
+
=cut
|
|
145
|
+
|
|
146
|
+
sub rm_f {
|
|
147
|
+
expand_wildcards();
|
|
148
|
+
|
|
149
|
+
foreach my $file (@ARGV) {
|
|
150
|
+
next unless -f $file;
|
|
151
|
+
|
|
152
|
+
next if _unlink($file);
|
|
153
|
+
|
|
154
|
+
chmod(0777, $file);
|
|
155
|
+
|
|
156
|
+
next if _unlink($file);
|
|
157
|
+
|
|
158
|
+
require Carp;
|
|
159
|
+
Carp::carp("Cannot delete $file: $!");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
sub _unlink {
|
|
164
|
+
my $files_unlinked = 0;
|
|
165
|
+
foreach my $file (@_) {
|
|
166
|
+
my $delete_count = 0;
|
|
167
|
+
$delete_count++ while unlink $file;
|
|
168
|
+
$files_unlinked++ if $delete_count;
|
|
169
|
+
}
|
|
170
|
+
return $files_unlinked;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
=item touch
|
|
175
|
+
|
|
176
|
+
touch file ...
|
|
177
|
+
|
|
178
|
+
Makes files exist, with current timestamp
|
|
179
|
+
|
|
180
|
+
=cut
|
|
181
|
+
|
|
182
|
+
sub touch {
|
|
183
|
+
my $t = time;
|
|
184
|
+
expand_wildcards();
|
|
185
|
+
foreach my $file (@ARGV) {
|
|
186
|
+
open(FILE,">>$file") || die "Cannot write $file:$!";
|
|
187
|
+
close(FILE);
|
|
188
|
+
utime($t,$t,$file);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
=item mv
|
|
193
|
+
|
|
194
|
+
mv source_file destination_file
|
|
195
|
+
mv source_file source_file destination_dir
|
|
196
|
+
|
|
197
|
+
Moves source to destination. Multiple sources are allowed if
|
|
198
|
+
destination is an existing directory.
|
|
199
|
+
|
|
200
|
+
Returns true if all moves succeeded, false otherwise.
|
|
201
|
+
|
|
202
|
+
=cut
|
|
203
|
+
|
|
204
|
+
sub mv {
|
|
205
|
+
expand_wildcards();
|
|
206
|
+
my @src = @ARGV;
|
|
207
|
+
my $dst = pop @src;
|
|
208
|
+
|
|
209
|
+
if (@src > 1 && ! -d $dst) {
|
|
210
|
+
require Carp;
|
|
211
|
+
Carp::croak("Too many arguments");
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
require File::Copy;
|
|
215
|
+
my $nok = 0;
|
|
216
|
+
foreach my $src (@src) {
|
|
217
|
+
$nok ||= !File::Copy::move($src,$dst);
|
|
218
|
+
}
|
|
219
|
+
return !$nok;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
=item cp
|
|
223
|
+
|
|
224
|
+
cp source_file destination_file
|
|
225
|
+
cp source_file source_file destination_dir
|
|
226
|
+
|
|
227
|
+
Copies sources to the destination. Multiple sources are allowed if
|
|
228
|
+
destination is an existing directory.
|
|
229
|
+
|
|
230
|
+
Returns true if all copies succeeded, false otherwise.
|
|
231
|
+
|
|
232
|
+
=cut
|
|
233
|
+
|
|
234
|
+
sub cp {
|
|
235
|
+
expand_wildcards();
|
|
236
|
+
my @src = @ARGV;
|
|
237
|
+
my $dst = pop @src;
|
|
238
|
+
|
|
239
|
+
if (@src > 1 && ! -d $dst) {
|
|
240
|
+
require Carp;
|
|
241
|
+
Carp::croak("Too many arguments");
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
require File::Copy;
|
|
245
|
+
my $nok = 0;
|
|
246
|
+
foreach my $src (@src) {
|
|
247
|
+
$nok ||= !File::Copy::copy($src,$dst);
|
|
248
|
+
|
|
249
|
+
# Win32 does not update the mod time of a copied file, just the
|
|
250
|
+
# created time which make does not look at.
|
|
251
|
+
utime(time, time, $dst) if $Is_Win32;
|
|
252
|
+
}
|
|
253
|
+
return $nok;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
=item chmod
|
|
257
|
+
|
|
258
|
+
chmod mode files ...
|
|
259
|
+
|
|
260
|
+
Sets UNIX like permissions 'mode' on all the files. e.g. 0666
|
|
261
|
+
|
|
262
|
+
=cut
|
|
263
|
+
|
|
264
|
+
sub chmod {
|
|
265
|
+
local @ARGV = @ARGV;
|
|
266
|
+
my $mode = shift(@ARGV);
|
|
267
|
+
expand_wildcards();
|
|
268
|
+
|
|
269
|
+
if( $Is_VMS_mode && $Is_VMS_noefs) {
|
|
270
|
+
require File::Spec;
|
|
271
|
+
foreach my $idx (0..$#ARGV) {
|
|
272
|
+
my $path = $ARGV[$idx];
|
|
273
|
+
next unless -d $path;
|
|
274
|
+
|
|
275
|
+
# chmod 0777, [.foo.bar] doesn't work on VMS, you have to do
|
|
276
|
+
# chmod 0777, [.foo]bar.dir
|
|
277
|
+
my @dirs = File::Spec->splitdir( $path );
|
|
278
|
+
$dirs[-1] .= '.dir';
|
|
279
|
+
$path = File::Spec->catfile(@dirs);
|
|
280
|
+
|
|
281
|
+
$ARGV[$idx] = $path;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
chmod(oct $mode,@ARGV) || die "Cannot chmod ".join(' ',$mode,@ARGV).":$!";
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
=item mkpath
|
|
289
|
+
|
|
290
|
+
mkpath directory ...
|
|
291
|
+
|
|
292
|
+
Creates directories, including any parent directories.
|
|
293
|
+
|
|
294
|
+
=cut
|
|
295
|
+
|
|
296
|
+
sub mkpath
|
|
297
|
+
{
|
|
298
|
+
expand_wildcards();
|
|
299
|
+
require File::Path;
|
|
300
|
+
File::Path::mkpath([@ARGV],0,0777);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
=item test_f
|
|
304
|
+
|
|
305
|
+
test_f file
|
|
306
|
+
|
|
307
|
+
Tests if a file exists. I<Exits> with 0 if it does, 1 if it does not (ie.
|
|
308
|
+
shell's idea of true and false).
|
|
309
|
+
|
|
310
|
+
=cut
|
|
311
|
+
|
|
312
|
+
sub test_f
|
|
313
|
+
{
|
|
314
|
+
exit(-f $ARGV[0] ? 0 : 1);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
=item test_d
|
|
318
|
+
|
|
319
|
+
test_d directory
|
|
320
|
+
|
|
321
|
+
Tests if a directory exists. I<Exits> with 0 if it does, 1 if it does
|
|
322
|
+
not (ie. shell's idea of true and false).
|
|
323
|
+
|
|
324
|
+
=cut
|
|
325
|
+
|
|
326
|
+
sub test_d
|
|
327
|
+
{
|
|
328
|
+
exit(-d $ARGV[0] ? 0 : 1);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
=item dos2unix
|
|
332
|
+
|
|
333
|
+
dos2unix files or dirs ...
|
|
334
|
+
|
|
335
|
+
Converts DOS and OS/2 linefeeds to Unix style recursively.
|
|
336
|
+
|
|
337
|
+
=cut
|
|
338
|
+
|
|
339
|
+
sub dos2unix {
|
|
340
|
+
require File::Find;
|
|
341
|
+
File::Find::find(sub {
|
|
342
|
+
return if -d;
|
|
343
|
+
return unless -w _;
|
|
344
|
+
return unless -r _;
|
|
345
|
+
return if -B _;
|
|
346
|
+
|
|
347
|
+
local $\;
|
|
348
|
+
|
|
349
|
+
my $orig = $_;
|
|
350
|
+
my $temp = '.dos2unix_tmp';
|
|
351
|
+
open ORIG, $_ or do { warn "dos2unix can't open $_: $!"; return };
|
|
352
|
+
open TEMP, ">$temp" or
|
|
353
|
+
do { warn "dos2unix can't create .dos2unix_tmp: $!"; return };
|
|
354
|
+
binmode ORIG; binmode TEMP;
|
|
355
|
+
while (my $line = <ORIG>) {
|
|
356
|
+
$line =~ s/\015\012/\012/g;
|
|
357
|
+
print TEMP $line;
|
|
358
|
+
}
|
|
359
|
+
close ORIG;
|
|
360
|
+
close TEMP;
|
|
361
|
+
rename $temp, $orig;
|
|
362
|
+
|
|
363
|
+
}, @ARGV);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
=back
|
|
367
|
+
|
|
368
|
+
=head1 SEE ALSO
|
|
369
|
+
|
|
370
|
+
Shell::Command which is these same functions but take arguments normally.
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
=head1 AUTHOR
|
|
374
|
+
|
|
375
|
+
Nick Ing-Simmons C<ni-s@cpan.org>
|
|
376
|
+
|
|
377
|
+
Maintained by Michael G Schwern C<schwern@pobox.com> within the
|
|
378
|
+
ExtUtils-MakeMaker package and, as a separate CPAN package, by
|
|
379
|
+
Randy Kobes C<r.kobes@uwinnipeg.ca>.
|
|
380
|
+
|
|
381
|
+
=cut
|
|
382
|
+
|
|
@@ -35,7 +35,7 @@ $EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}];
|
|
|
35
35
|
|
|
36
36
|
@EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
|
|
37
37
|
|
|
38
|
-
$VERSION = '1.
|
|
38
|
+
$VERSION = '1.33';
|
|
39
39
|
|
|
40
40
|
sub import {
|
|
41
41
|
require Exporter;
|
|
@@ -70,13 +70,6 @@ if ($^O =~ /^(?:MSWin32|VMS|os2|dos|riscos)$/) {
|
|
|
70
70
|
$DEFAULT_FLAGS |= GLOB_NOCASE();
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
# File::Glob::glob() removed in perl-5.30 because its prototype is different
|
|
74
|
-
# from CORE::glob() (use bsd_glob() instead)
|
|
75
|
-
sub glob {
|
|
76
|
-
die "File::Glob::glob() was removed in perl 5.30. " .
|
|
77
|
-
"Use File::Glob::bsd_glob() instead. $!";
|
|
78
|
-
}
|
|
79
|
-
|
|
80
73
|
1;
|
|
81
74
|
__END__
|
|
82
75
|
|
|
@@ -51,7 +51,7 @@ sub globmap ($$;)
|
|
|
51
51
|
my $inputGlob = shift ;
|
|
52
52
|
my $outputGlob = shift ;
|
|
53
53
|
|
|
54
|
-
my $obj =
|
|
54
|
+
my $obj = File::GlobMapper->new($inputGlob, $outputGlob, @_)
|
|
55
55
|
or croak "globmap: $Error" ;
|
|
56
56
|
return $obj->getFileMap();
|
|
57
57
|
}
|
|
@@ -383,7 +383,7 @@ File::GlobMapper - Extend File Glob to Allow Input and Output Files
|
|
|
383
383
|
my $aref = globmap $input => $output
|
|
384
384
|
or die $File::GlobMapper::Error ;
|
|
385
385
|
|
|
386
|
-
my $gm =
|
|
386
|
+
my $gm = File::GlobMapper->new( $input => $output )
|
|
387
387
|
or die $File::GlobMapper::Error ;
|
|
388
388
|
|
|
389
389
|
|
|
@@ -19,7 +19,7 @@ use base "File::HomeDir::Darwin";
|
|
|
19
19
|
|
|
20
20
|
BEGIN
|
|
21
21
|
{
|
|
22
|
-
$VERSION = '1.
|
|
22
|
+
$VERSION = '1.006';
|
|
23
23
|
|
|
24
24
|
# Load early if in a forking environment and we have
|
|
25
25
|
# prefork, or at run-time if not.
|
|
@@ -156,42 +156,4 @@ sub _to_user
|
|
|
156
156
|
|
|
157
157
|
1;
|
|
158
158
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
=head1 NAME
|
|
162
|
-
|
|
163
|
-
File::HomeDir::Darwin - Find your home and other directories on Darwin (OS X)
|
|
164
|
-
|
|
165
|
-
=head1 DESCRIPTION
|
|
166
|
-
|
|
167
|
-
This module provides Darwin-specific implementations for determining
|
|
168
|
-
common user directories. In normal usage this module will always be
|
|
169
|
-
used via L<File::HomeDir>.
|
|
170
|
-
|
|
171
|
-
Note -- since this module requires Mac::Carbon and Mac::Carbon does
|
|
172
|
-
not work with 64-bit perls, on such systems, File::HomeDir will try
|
|
173
|
-
L<File::HomeDir::Darwin::Cocoa> and then fall back to the (pure Perl)
|
|
174
|
-
L<File::HomeDir::Darwin>.
|
|
175
|
-
|
|
176
|
-
=head1 SYNOPSIS
|
|
177
|
-
|
|
178
|
-
use File::HomeDir;
|
|
179
|
-
|
|
180
|
-
# Find directories for the current user
|
|
181
|
-
$home = File::HomeDir->my_home; # /Users/mylogin
|
|
182
|
-
$desktop = File::HomeDir->my_desktop; # /Users/mylogin/Desktop
|
|
183
|
-
$docs = File::HomeDir->my_documents; # /Users/mylogin/Documents
|
|
184
|
-
$music = File::HomeDir->my_music; # /Users/mylogin/Music
|
|
185
|
-
$pics = File::HomeDir->my_pictures; # /Users/mylogin/Pictures
|
|
186
|
-
$videos = File::HomeDir->my_videos; # /Users/mylogin/Movies
|
|
187
|
-
$data = File::HomeDir->my_data; # /Users/mylogin/Library/Application Support
|
|
188
|
-
|
|
189
|
-
=head1 TODO
|
|
190
|
-
|
|
191
|
-
=over 4
|
|
192
|
-
|
|
193
|
-
=item * Test with Mac OS (versions 7, 8, 9)
|
|
194
|
-
|
|
195
|
-
=item * Some better way for users_* ?
|
|
196
|
-
|
|
197
|
-
=back
|
|
159
|
+
#line 206
|
|
@@ -12,7 +12,7 @@ use base "File::HomeDir::Darwin";
|
|
|
12
12
|
|
|
13
13
|
BEGIN
|
|
14
14
|
{
|
|
15
|
-
$VERSION = '1.
|
|
15
|
+
$VERSION = '1.006';
|
|
16
16
|
|
|
17
17
|
# Load early if in a forking environment and we have
|
|
18
18
|
# prefork, or at run-time if not.
|
|
@@ -116,36 +116,4 @@ sub _find_folder
|
|
|
116
116
|
|
|
117
117
|
1;
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
=head1 NAME
|
|
122
|
-
|
|
123
|
-
File::HomeDir::Darwin::Cocoa - Find your home and other directories on Darwin (OS X)
|
|
124
|
-
|
|
125
|
-
=head1 DESCRIPTION
|
|
126
|
-
|
|
127
|
-
This module provides Darwin-specific implementations for determining
|
|
128
|
-
common user directories using Cocoa API through
|
|
129
|
-
L<Mac::SystemDirectory>. In normal usage this module will always be
|
|
130
|
-
used via L<File::HomeDir>.
|
|
131
|
-
|
|
132
|
-
Theoretically, this should return the same paths as both of the other
|
|
133
|
-
Darwin drivers.
|
|
134
|
-
|
|
135
|
-
Because this module requires L<Mac::SystemDirectory>, if the module
|
|
136
|
-
is not installed, L<File::HomeDir> will fall back to L<File::HomeDir::Darwin>.
|
|
137
|
-
|
|
138
|
-
=head1 SYNOPSIS
|
|
139
|
-
|
|
140
|
-
use File::HomeDir;
|
|
141
|
-
|
|
142
|
-
# Find directories for the current user
|
|
143
|
-
$home = File::HomeDir->my_home; # /Users/mylogin
|
|
144
|
-
$desktop = File::HomeDir->my_desktop; # /Users/mylogin/Desktop
|
|
145
|
-
$docs = File::HomeDir->my_documents; # /Users/mylogin/Documents
|
|
146
|
-
$music = File::HomeDir->my_music; # /Users/mylogin/Music
|
|
147
|
-
$pics = File::HomeDir->my_pictures; # /Users/mylogin/Pictures
|
|
148
|
-
$videos = File::HomeDir->my_videos; # /Users/mylogin/Movies
|
|
149
|
-
$data = File::HomeDir->my_data; # /Users/mylogin/Library/Application Support
|
|
150
|
-
|
|
151
|
-
=cut
|
|
119
|
+
#line 158
|
|
@@ -12,7 +12,7 @@ use base "File::HomeDir::Unix";
|
|
|
12
12
|
|
|
13
13
|
BEGIN
|
|
14
14
|
{
|
|
15
|
-
$VERSION = '1.
|
|
15
|
+
$VERSION = '1.006';
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
#####################################################################
|
|
@@ -117,30 +117,4 @@ sub _to_user
|
|
|
117
117
|
|
|
118
118
|
1;
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
=head1 NAME
|
|
123
|
-
|
|
124
|
-
File::HomeDir::Darwin - Find your home and other directories on Darwin (OS X)
|
|
125
|
-
|
|
126
|
-
=head1 DESCRIPTION
|
|
127
|
-
|
|
128
|
-
This module provides Mac OS X specific file path for determining
|
|
129
|
-
common user directories in pure perl, by just using C<$ENV{HOME}>
|
|
130
|
-
without Carbon nor Cocoa API calls. In normal usage this module will
|
|
131
|
-
always be used via L<File::HomeDir>.
|
|
132
|
-
|
|
133
|
-
=head1 SYNOPSIS
|
|
134
|
-
|
|
135
|
-
use File::HomeDir;
|
|
136
|
-
|
|
137
|
-
# Find directories for the current user
|
|
138
|
-
$home = File::HomeDir->my_home; # /Users/mylogin
|
|
139
|
-
$desktop = File::HomeDir->my_desktop; # /Users/mylogin/Desktop
|
|
140
|
-
$docs = File::HomeDir->my_documents; # /Users/mylogin/Documents
|
|
141
|
-
$music = File::HomeDir->my_music; # /Users/mylogin/Music
|
|
142
|
-
$pics = File::HomeDir->my_pictures; # /Users/mylogin/Pictures
|
|
143
|
-
$videos = File::HomeDir->my_videos; # /Users/mylogin/Movies
|
|
144
|
-
$data = File::HomeDir->my_data; # /Users/mylogin/Library/Application Support
|
|
145
|
-
|
|
146
|
-
=cut
|
|
120
|
+
#line 153
|
|
@@ -12,7 +12,7 @@ use vars qw{$VERSION};
|
|
|
12
12
|
|
|
13
13
|
BEGIN
|
|
14
14
|
{
|
|
15
|
-
$VERSION = '1.
|
|
15
|
+
$VERSION = '1.006';
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
sub my_home
|
|
@@ -22,37 +22,4 @@ sub my_home
|
|
|
22
22
|
|
|
23
23
|
1;
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
=head1 NAME
|
|
28
|
-
|
|
29
|
-
File::HomeDir::Driver - Base class for all File::HomeDir drivers
|
|
30
|
-
|
|
31
|
-
=head1 DESCRIPTION
|
|
32
|
-
|
|
33
|
-
This module is the base class for all L<File::HomeDir> drivers, and must
|
|
34
|
-
be inherited from to identify a class as a driver.
|
|
35
|
-
|
|
36
|
-
It is primarily provided as a convenience for this specific identification
|
|
37
|
-
purpose, as L<File::HomeDir> supports the specification of custom drivers
|
|
38
|
-
and an C<-E<gt>isa> check is used during the loading of the driver.
|
|
39
|
-
|
|
40
|
-
=head1 AUTHOR
|
|
41
|
-
|
|
42
|
-
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
|
|
43
|
-
|
|
44
|
-
=head1 SEE ALSO
|
|
45
|
-
|
|
46
|
-
L<File::HomeDir>
|
|
47
|
-
|
|
48
|
-
=head1 COPYRIGHT
|
|
49
|
-
|
|
50
|
-
Copyright 2009 - 2011 Adam Kennedy.
|
|
51
|
-
|
|
52
|
-
This program is free software; you can redistribute
|
|
53
|
-
it and/or modify it under the same terms as Perl itself.
|
|
54
|
-
|
|
55
|
-
The full text of the license can be found in the
|
|
56
|
-
LICENSE file included with this module.
|
|
57
|
-
|
|
58
|
-
=cut
|
|
25
|
+
#line 61
|
|
@@ -18,7 +18,7 @@ use base "File::HomeDir::Unix";
|
|
|
18
18
|
|
|
19
19
|
BEGIN
|
|
20
20
|
{
|
|
21
|
-
$VERSION = '1.
|
|
21
|
+
$VERSION = '1.006';
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
# xdg uses $ENV{XDG_CONFIG_HOME}/user-dirs.dirs to know where are the
|
|
@@ -80,64 +80,4 @@ sub users_data { Carp::croak('The users_data method is not available on an
|
|
|
80
80
|
|
|
81
81
|
1;
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
=head1 NAME
|
|
86
|
-
|
|
87
|
-
File::HomeDir::FreeDesktop - Find your home and other directories on FreeDesktop.org Unix
|
|
88
|
-
|
|
89
|
-
=head1 DESCRIPTION
|
|
90
|
-
|
|
91
|
-
This module provides implementations for determining common user
|
|
92
|
-
directories. In normal usage this module will always be
|
|
93
|
-
used via L<File::HomeDir>.
|
|
94
|
-
|
|
95
|
-
This module can operate only when the command C<xdg-user-dir> is available
|
|
96
|
-
and executable, which is typically achieved by installed a package named
|
|
97
|
-
C<xdg-user-dirs> or similar.
|
|
98
|
-
|
|
99
|
-
One can find the latest spec at L<https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html>.
|
|
100
|
-
|
|
101
|
-
=head1 SYNOPSIS
|
|
102
|
-
|
|
103
|
-
use File::HomeDir;
|
|
104
|
-
|
|
105
|
-
# Find directories for the current user
|
|
106
|
-
$home = File::HomeDir->my_home; # /home/mylogin
|
|
107
|
-
$desktop = File::HomeDir->my_desktop;
|
|
108
|
-
$docs = File::HomeDir->my_documents;
|
|
109
|
-
$music = File::HomeDir->my_music;
|
|
110
|
-
$pics = File::HomeDir->my_pictures;
|
|
111
|
-
$videos = File::HomeDir->my_videos;
|
|
112
|
-
$data = File::HomeDir->my_data;
|
|
113
|
-
$config = File::HomeDir->my_config;
|
|
114
|
-
|
|
115
|
-
# Some undocumented ones, expect they don't work - use with caution
|
|
116
|
-
$download = File::HomeDir->my_download;
|
|
117
|
-
$publicshare = File::HomeDir->my_publicshare;
|
|
118
|
-
$templates = File::HomeDir->my_templates;
|
|
119
|
-
$cache = File::HomeDir->my_cache;
|
|
120
|
-
|
|
121
|
-
=head1 AUTHORS
|
|
122
|
-
|
|
123
|
-
Jerome Quelin E<lt>jquellin@cpan.org<gt>
|
|
124
|
-
|
|
125
|
-
Adam Kennedy E<lt>adamk@cpan.orgE<gt>
|
|
126
|
-
|
|
127
|
-
=head1 SEE ALSO
|
|
128
|
-
|
|
129
|
-
L<File::HomeDir>, L<File::HomeDir::Win32> (legacy)
|
|
130
|
-
|
|
131
|
-
=head1 COPYRIGHT
|
|
132
|
-
|
|
133
|
-
Copyright 2009 - 2011 Jerome Quelin.
|
|
134
|
-
|
|
135
|
-
Some parts copyright 2010 Adam Kennedy.
|
|
136
|
-
|
|
137
|
-
This program is free software; you can redistribute
|
|
138
|
-
it and/or modify it under the same terms as Perl itself.
|
|
139
|
-
|
|
140
|
-
The full text of the license can be found in the
|
|
141
|
-
LICENSE file included with this module.
|
|
142
|
-
|
|
143
|
-
=cut
|
|
83
|
+
#line 146
|