![](/WDVL/Website/Design/images/spacer.gif) |
Opening, Reading and Closing Directories
Opening, Reading and Closing
Directories
- Just like files, Perl
gives you the ability to manage
directories. Specifically, Perl allows you to open a
directory as a directory handle, read in the current
contents of the directory and then close it again.
- To open a directory, you use the following
syntax:
opendir ([FILE_HANDLE_NAME],
"[directory_location]") ||
&CgiDie ("Can't
open [directory_location]");
- Thus, for example, you might open the directory
"/usr/local/etc/www/" with the syntax:
opendir (WWW, "/usr/local/etc/www/") ||
&CgiDie ("Can't open www");
- As you can see, like opening files, Perl allows the
program to die elegantly in case there is a problem
opening the directory. Also, as with file manipulation, you
must close a directory after you are done with it using the
syntax:
closedir ([FILE_HANDLE_NAME]);
- For example, to close the directory opened above, you
use the command:
closedir(WWW);
- Once you have opened a directory,
you can also read
the contents of the directory with the readdir function.
For example, the following code snippet assigns all of the
filenames in the www directory to @filenames:
opendir (WWW, "/usr/local/etc/www/") ||
&CgiDie ("Can't open www");
@filenames = readdir (WWW);
closedir (WWW);
If you want to avoid including the "."
(current directory) and ".." (root directory) files you
can use the grep function to avoid including them in
the readdir function using the syntax:
@filenames = grep (!/^\.\.?$/, readdir
(FILE_HANDLE_NAME)); |
Additional Resources:
Getting Information About a File With stat
Table of Contents
Perl Libraries
| ![](/WDVL/Website/Design/images/spacer.gif) |
|