


File::Spec::Win32Perl Programmers Reference File::Spec::Win32(3p)


NAME
       File::Spec::Win32 - methods for Win32 file specs

SYNOPSIS
        require File::Spec::Win32; # Done internally by File::Spec if needed


DESCRIPTION
       See File::Spec::Unix for a documentation of the methods
       provided there. This package overrides the implementation
       of these methods, not the semantics.

       devnull
           Returns a string representation of the null device.

       tmpdir
           Returns a string representation of the first existing
           directory from the following list:

               $ENV{TMPDIR}
               $ENV{TEMP}
               $ENV{TMP}
               /tmp
               /


       catfile
           Concatenate one or more directory names and a filename
           to form a complete path ending with a filename

       canonpath
           No physical check on the filesystem, but a logical
           cleanup of a path. On UNIX eliminated successive
           slashes and successive "/.".

       splitpath
               ($volume,$directories,$file) = File::Spec->splitpath( $path );
               ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );

           Splits a path in to volume, directory, and filename
           portions. Assumes that the last file is a path unless
           the path ends in '\\', '\\.', '\\..'  or $no_file is
           true.  On Win32 this means that $no_file true makes
           this return ( $volume, $path, undef ).

           Separators accepted are \ and /.

           Volumes can be drive letters or UNC sharenames
           (\\server\share).

           The results can be passed to the catpath entry else-
           where in this document to get back a path equivalent
           to (usually identical to) the original path.




2000-04-06                 perl v5.6.0                          1





File::Spec::Win32Perl Programmers Reference File::Spec::Win32(3p)


       splitdir
           The opposite of the catdir() entry elsewhere in this
           document.

               @dirs = File::Spec->splitdir( $directories );

           $directories must be only the directory portion of the
           path on systems that have the concept of a volume or
           that have path syntax that differentiates files from
           directories.

           Unlike just splitting the directories on the separa-
           tor, leading empty and trailing directory entries can
           be returned, because these are significant on some
           OSs. So,

               File::Spec->splitdir( "/a/b/c" );

           Yields:

               ( '', 'a', 'b', '', 'c', '' )


       catpath
           Takes volume, directory and file portions and returns
           an entire path. Under Unix, $volume is ignored, and
           this is just like catfile(). On other OSs, the $volume
           become significant.

       abs2rel
           Takes a destination path and an optional base path
           returns a relative path from the base path to the des-
           tination path:

               $rel_path = File::Spec->abs2rel( $destination ) ;
               $rel_path = File::Spec->abs2rel( $destination, $base ) ;

           If $base is not present or '', then the cwd() entry
           elsewhere in this document is used. If $base is rela-
           tive, then it is converted to absolute form using the
           rel2abs() entry elsewhere in this document. This means
           that it is taken to be relative to the cwd() entry
           elsewhere in this document.

           On systems with the concept of a volume, this assumes
           that both paths are on the $destination volume, and
           ignores the $base volume.

           On systems that have a grammar that indicates file-
           names, this ignores the $base filename as well. Other-
           wise all path components are assumed to be directo-
           ries.

           If $path is relative, it is converted to absolute form



2000-04-06                 perl v5.6.0                          2





File::Spec::Win32Perl Programmers Reference File::Spec::Win32(3p)


           using the rel2abs() entry elsewhere in this document.
           This means that it is taken to be relative to the
           cwd() entry elsewhere in this document.

           Based on code written by Shigio Yamaguchi.

           No checks against the filesystem are made.

       rel2abs
           Converts a relative path to an absolute path.

               $abs_path = File::Spec->rel2abs( $destination ) ;
               $abs_path = File::Spec->rel2abs( $destination, $base ) ;

           If $base is not present or '', then the cwd() entry
           elsewhere in this document is used. If $base is rela-
           tive, then it is converted to absolute form using the
           rel2abs() entry elsewhere in this document. This means
           that it is taken to be relative to the cwd() entry
           elsewhere in this document.

           Assumes that both paths are on the $base volume, and
           ignores the $destination volume.

           On systems that have a grammar that indicates file-
           names, this ignores the $base filename as well. Other-
           wise all path components are assumed to be directo-
           ries.

           If $path is absolute, it is cleaned up and returned
           using the canonpath() entry elsewhere in this docu-
           ment.

           Based on code written by Shigio Yamaguchi.

           No checks against the filesystem are made.

SEE ALSO
       the File::Spec manpage


















2000-04-06                 perl v5.6.0                          3


