Skip to Content
Learning Perl, 6th Edition
book

Learning Perl, 6th Edition

by Randal L. Schwartz, brian d foy, Tom Phoenix
June 2011
Beginner content levelBeginner
386 pages
11h 33m
English
O'Reilly Media, Inc.
Content preview from Learning Perl, 6th Edition

Chapter 13. Directory Operations

The files you created in Chapter 12 were generally in the same place as your program. But modern operating systems let you organize files into directories, allowing you to keep your Beatles MP3s away from your important work documents so that you don’t accidentally send an MP3 file to your boss. Perl lets you manipulate these directories directly, in ways that are even fairly portable from one operating system to another.

Moving Around the Directory Tree

Your program runs with a working directory, which is the starting point for relative pathnames. That is, if you refer to the file fred, that means “fred in the current working directory.”

The chdir operator changes the working directory. It’s just like the Unix shell’s cd command:

chdir '/etc' or die "cannot chdir to /etc: $!";

Because this is a system request, Perl sets the value of $! if an error occurs. You should normally check $! when chdir returns a false value since that indicates that something has not gone as requested.

The working directory is inherited by all processes that Perl starts (we’ll talk more about that in Chapter 14). However, the change in working directory cannot affect the process that invoked Perl, such as the shell. This isn’t a limitation on Perl’s part; it’s actually a feature of Unix, Windows, and other systems. If you really need to change the shell’s working directory, see the documentation of your shell. So you can’t make a Perl program to replace your shell’s cd command. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Mastering Perl, 2nd Edition

Mastering Perl, 2nd Edition

brian d foy
Learning Perl, 7th Edition

Learning Perl, 7th Edition

Randal L. Schwartz, brian d foy, Tom Phoenix
Perl in a Nutshell, 2nd Edition

Perl in a Nutshell, 2nd Edition

Nathan Patwardhan, Ellen Siever, Stephen Spainhour

Publisher Resources

ISBN: 9781449311063Errata PageSupplemental Content