


Cwd(3p)          Perl Programmers Reference Guide         Cwd(3p)


NAME
       Cwd - get pathname of current working directory

SYNOPSIS
           use Cwd;
           my $dir = getcwd;

           use Cwd 'abs_path';
           my $abs_path = abs_path($file);

DESCRIPTION
       This module provides functions for determining the path-
       name of the current working directory.  It is recommended
       that getcwd (or another *cwd() function) be used in all
       code to ensure portability.

       By default, it exports the functions cwd(), getcwd(),
       fastcwd(), and fastgetcwd() into the caller's namespace.

       getcwd and friends

       Each of these functions are called without arguments and
       return the absolute path of the current working directory.

       getcwd
               my $cwd = getcwd();

           Returns the current working directory.

           Re-implements the getcwd(3) (or getwd(3)) functions in
           Perl.

       cwd
               my $cwd = cwd();

           The cwd() is the most natural form for the current
           architecture. For most systems it is identical to
           `pwd` (but without the trailing line terminator).

       fastcwd
               my $cwd = fastcwd();

           A more dangerous version of getcwd(), but potentially
           faster.

           It might conceivably chdir() you out of a directory
           that it can't chdir() you back into.  If fastcwd
           encounters a problem it will return undef but will
           probably leave you in a different directory.  For a
           measure of extra security, if everything appears to
           have worked, the fastcwd() function will check that it
           leaves you in the same directory that it started in.
           If it has changed it will "die" with the message
           "Unstable directory path, current directory changed



perl v5.8.2                 2002-11-06                          1





Cwd(3p)          Perl Programmers Reference Guide         Cwd(3p)


           unexpectedly". That should never happen.

       fastgetcwd
             my $cwd = fastgetcwd();

           The fastgetcwd() function is provided as a synonym for
           cwd().

       abs_path and friends

       These functions are exported only on request.  They each
       take a single argument and return the absolute pathname
       for it.  If no argument is given they'll use the current
       working directory.

       abs_path
             my $abs_path = abs_path($file);

           Uses the same algorithm as getcwd().  Symbolic links
           and relative-path components ("." and "..") are
           resolved to return the canonical pathname, just like
           realpath(3).

       realpath
             my $abs_path = realpath($file);

           A synonym for abs_path().

       fast_abs_path
             my $abs_path = fast_abs_path($file);

           A more dangerous, but potentially faster version of
           abs_path.

       $ENV{PWD}

       If you ask to override your chdir() built-in function,

         use Cwd qw(chdir);

       then your PWD environment variable will be kept up to
       date.  Note that it will only be kept up to date if all
       packages which use chdir import it from Cwd.

NOTES
       o   Since the path seperators are different on some oper-
           ating systems ('/' on Unix, ':' on MacPerl, etc...) we
           recommend you use the File::Spec modules wherever
           portability is a concern.

       o   Actually, on Mac OS, the "getcwd()", "fastgetcwd()"
           and "fastcwd()" functions  are all aliases for the
           "cwd()" function, which, on Mac OS, calls `pwd`. Like-
           wise, the "abs_path()" function is an alias for



perl v5.8.2                 2002-11-06                          2





Cwd(3p)          Perl Programmers Reference Guide         Cwd(3p)


           "fast_abs_path()".

SEE ALSO
       File::chdir





















































perl v5.8.2                 2002-11-06                          3


