use DirHandle;
$d = new DirHandle ".";
if (defined $d) {
while (defined($_ = $d->read)) { something($_); }
$d->rewind;
while (defined($_ = $d->read)) { something_else($_); }
undef $d;
}
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.