July 2000
Intermediate to advanced
1104 pages
35h 1m
English
use File::Spec; # OO style
$path = File::Spec->catfile("subdir", "filename");
# 'subdir/filename' on Unix, OS2, or Mac OS X
# 'subdir:filename' on (old) Apple Macs
# 'subdir\filename' on Microsoft
$path = File::Spec->catfile("", "dir1", "dir2", "filename");
# '/dir1/dir2/filename' on Unix, OS2, or Mac OS X
# ':dir1:dir2:filename' on (old) Apple Macs
# '\dir1\dir2\filename' on Microsoft
use File::Spec::Unix;
$path = File::Spec::Unix->catfile("subdir", "filename");
# 'subdir/filename' (even when executed on non-Unix systems)
use File::Spec::Mac;
$path = File::Spec::Mac->catfile("subdir", "filename");
# 'subdir:filename'
use File::Spec::Win32;
$path = File::Spec::Win32->catfile("subdir", "filename";)
# 'subdir\filename'
# Use functional interface instead.
use File::Spec::Functions;
$path = catfile("subdir", "filename");The File::Spec family of modules lets you
construct paths using directories and filenames without hardcoding
platform-specific directory separators. Supported systems include
Unix, VMS, Mac, and Win32. These modules all offer a
catfile class method that catenates together each
path component using the specified platform's path separator. The
File::Spec module returns different results
depending on your current platform. The others return results specific
to that platform. The File::Spec::Functions module
provides a functional interface.