You are viewing the version of this documentation from Perl blead. This is the main development branch of Perl. (git commit d7d75569996ecf12f8d17feaae6520ed7df6fd98)
chdir EXPR
chdir FILEHANDLE
chdir DIRHANDLE
chdir

Changes the working directory to EXPR, if possible. If EXPR is omitted, changes to the directory specified by $ENV{HOME}, if set; if not, changes to the directory specified by $ENV{LOGDIR}. (Under VMS, the variable $ENV{'SYS$LOGIN'} is also checked, and used if it is set.) If neither is set, chdir does nothing and fails. It returns true on success, false otherwise. See the example under die.

On systems that support fchdir(2), you may pass a filehandle or directory handle as the argument. On systems that don't support fchdir(2), passing handles raises an exception.