NAME

File::Spec - portably perform operations on file names


SYNOPSIS

use File::Spec;

$x=File::Spec->catfile('a','b','c');

which returns 'a/b/c' under Unix.


DESCRIPTION

This module is designed to support operations commonly performed on file specifications (usually called ``file names'', but not to be confused with the contents of a file, or Perl's file handles), such as concatenating several directory and file names into a single path, or determining whether a path is rooted. It is based on code directly taken from MakeMaker 5.17, code written by Andreas K önig, Andy Dougherty, Charles Bailey, Ilya Zakharevich, Paul Schinder, and others.

Since these functions are different for most operating systems, each set of OS specific routines is available in a separate module, including:

        File::Spec::Unix
        File::Spec::Mac
        File::Spec::OS2
        File::Spec::Win32
        File::Spec::VMS

The module appropriate for the current OS is automatically loaded by File::Spec. Since some modules (like VMS) make use of OS specific facilities, it may not be possible to load all modules under all operating systems.

Since File::Spec is object oriented, subroutines should not called directly, as in:

        File::Spec::catfile('a','b');
        
but rather as class methods:

        File::Spec->;catfile('a','b');

For a reference of available functions, pleaes consult Spec::Unix, which contains the entire set, and inherited by the modules for other platforms. For further information, please see Spec::Mac, Spec::OS2, Spec::Win32, or Spec::VMS.


SEE ALSO

File::Spec::Unix, File::Spec::Mac, File::Spec::OS2, File::Spec::Win32, File::Spec::VMS, ExtUtils::MakeMaker


AUTHORS

Kenneth Albanowski <kjahds@kjahds.com>, Andy Dougherty <doughera@lafcol.lafayette.edu>, Andreas König <A.Koenig@franz.ww.TU-Berlin.DE>, Tim Bunce <Tim.Bunce@ig.co.uk>. VMS support by Charles Bailey <bailey@genetics.upenn.edu>. OS/2 support by Ilya Zakharevich <ilya@math.ohio-state.edu>. Mac support by Paul Schinder <schinder@pobox.com>.