MirOS Manual: File::Spec::Unix(3p)


File::Spec::Unix(Perl Programmers Reference GFile::Spec::Unix(3p)

NAME

     File::Spec::Unix - File::Spec for Unix, base for other
     File::Spec modules

SYNOPSIS

      require File::Spec::Unix; # Done automatically by File::Spec

DESCRIPTION

     Methods for manipulating file specifications.  Other
     File::Spec modules, such as File::Spec::Mac, inherit from
     File::Spec::Unix and override specific methods.

METHODS

     canonpath()
       No physical check on the filesystem, but a logical cleanup
       of a path. On UNIX eliminates successive slashes and suc-
       cessive "/.".

           $cpath = File::Spec->canonpath( $path ) ;

       Note that this does *not* collapse x/../y sections into y.
       This is by design.  If /foo on your system is a symlink to
       /bar/baz, then /foo/../quux is actually /bar/quux, not
       /quux as a naive ../-removal would give you.  If you want
       to do this kind of processing, you probably want "Cwd"'s
       "realpath()" function to actually traverse the filesystem
       cleaning up paths like this.

     catdir()
       Concatenate two or more directory names to form a complete
       path ending with a directory. But remove the trailing
       slash from the resulting string, because it doesn't look
       good, isn't necessary and confuses OS2. Of course, if this
       is the root directory, don't cut off the trailing slash
       :-)

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

     curdir
       Returns a string representation of the current directory.
       "." on UNIX.

     devnull
       Returns a string representation of the null device.
       "/dev/null" on UNIX.

     rootdir
       Returns a string representation of the root directory.
       "/" on UNIX.

perl v5.8.8                2005-02-05                           1

File::Spec::Unix(Perl Programmers Reference GFile::Spec::Unix(3p)

     tmpdir
       Returns a string representation of the first writable
       directory from the following list or the current directory
       if none from the list are writable:

           $ENV{TMPDIR}
           /tmp

       Since perl 5.8.0, if running under taint mode, and if
       $ENV{TMPDIR} is tainted, it is not used.

     updir
       Returns a string representation of the parent directory.
       ".." on UNIX.

     no_upwards
       Given a list of file names, strip out those that refer to
       a parent directory. (Does not strip symlinks, only '.',
       '..', and equivalents.)

     case_tolerant
       Returns a true or false value indicating, respectively,
       that alphabetic is not or is significant when comparing
       file specifications.

     file_name_is_absolute
       Takes as argument a path and returns true if it is an
       absolute path.

       This does not consult the local filesystem on Unix, Win32,
       OS/2 or Mac OS (Classic).  It does consult the working
       environment for VMS (see "file_name_is_absolute" in
       File::Spec::VMS).

     path
       Takes no argument, returns the environment variable PATH
       as an array.

     join
       join is the same as catfile.

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

       Splits a path into volume, directory, and filename por-
       tions. On systems with no concept of volume, returns ''
       for volume.

       For systems with no syntax differentiating filenames from
       directories, assumes that the last file is a path unless
       $no_file is true or a trailing separator or /. or /.. is

perl v5.8.8                2005-02-05                           2

File::Spec::Unix(Perl Programmers Reference GFile::Spec::Unix(3p)

       present. On Unix this means that $no_file true makes this
       return ( '', $path, '' ).

       The directory portion may or may not be returned with a
       trailing '/'.

       The results can be passed to "catpath()" to get back a
       path equivalent to (usually identical to) the original
       path.

     splitdir
       The opposite of "catdir()".

           @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 direc-
       tories.

       Unlike just splitting the directories on the separator,
       empty directory names ('') can be returned, because these
       are significant on some OSs.

       On Unix,

           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 directory
       and file are concatenated.  A '/' is inserted if needed
       (though if the directory portion doesn't start with '/' it
       is not added).  On other OSs, $volume is significant.

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

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

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

perl v5.8.8                2005-02-05                           3

File::Spec::Unix(Perl Programmers Reference GFile::Spec::Unix(3p)

       On systems that have a grammar that indicates filenames,
       this ignores the $base filename. Otherwise all path com-
       ponents are assumed to be directories.

       If $path is relative, it is converted to absolute form
       using "rel2abs()". This means that it is taken to be rela-
       tive to cwd().

       No checks against the filesystem are made.  On VMS, there
       is interaction with the working environment, as logicals
       and macros are expanded.

       Based on code written by Shigio Yamaguchi.

     rel2abs()
       Converts a relative path to an absolute path.

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

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

       On systems that have a grammar that indicates filenames,
       this ignores the $base filename. Otherwise all path com-
       ponents are assumed to be directories.

       If $path is absolute, it is cleaned up and returned using
       "canonpath()".

       No checks against the filesystem are made.  On VMS, there
       is interaction with the working environment, as logicals
       and macros are expanded.

       Based on code written by Shigio Yamaguchi.

COPYRIGHT

     Copyright (c) 2004 by the Perl 5 Porters.  All rights
     reserved.

     This program is free software; you can redistribute it
     and/or modify it under the same terms as Perl itself.

SEE ALSO

     File::Spec

perl v5.8.8                2005-02-05                           4

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.