Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-3.6)
Apropos / Subsearch:
optional field

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

       Cwd - get pathname of current working directory

           use Cwd;
           my $dir = getcwd;

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

       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() (and, on Win32, getdcwd())
       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.

               my $cwd = getcwd();

           Returns the current working directory.

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

               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).

               my $cwd = fastcwd();

           A more dangerous version of getcwd(), but potentially

           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

perl v5.8.5                 2002-11-06                          1

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

           "Unstable directory path, current directory changed
           unexpectedly". That should never happen.

             my $cwd = fastgetcwd();

           The fastgetcwd() function is provided as a synonym for

               my $cwd = getdcwd();
               my $cwd = getdcwd('C:');

           The getdcwd() function is also provided on Win32 to
           get the current working directory on the specified
           drive, since Windows maintains a separate current
           working directory for each drive.  If no drive is
           specified then the current drive is assumed.

           This function simply calls the Microsoft C library
           _getdcwd() function.

       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.

             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

             my $abs_path = realpath($file);

           A synonym for abs_path().

             my $abs_path = fast_abs_path($file);

           A more dangerous, but potentially faster version of


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

         use Cwd qw(chdir);

perl v5.8.5                 2002-11-06                          2

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

       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.

       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

       Originally by the perl5-porters.

       Maintained by Ken Williams <KWILLIAMSATcpan.org>


perl v5.8.5                 2002-11-06                          3