++ed by:

297 non-PAUSE users.

Dominic Hargreaves
and 1 contributors


DirHandle - supply object methods for directory handles


    use DirHandle;
    $d = DirHandle->new(".");
    if (defined $d) {
        while (defined($_ = $d->read)) { something($_); }
        while (defined($_ = $d->read)) { something_else($_); }
        undef $d;


The DirHandle method provide an alternative interface to the opendir(), closedir(), readdir(), and rewinddir() functions.

The only objective benefit to using DirHandle is that it avoids namespace pollution by creating globs to hold directory handles.


  • On Mac OS (Classic), the path separator is ':', not '/', and the current directory is denoted as ':', not '.'. You should be careful about specifying relative pathnames. While a full path always begins with a volume name, a relative pathname should always begin with a ':'. If specifying a volume name only, a trailing ':' is required.