7 DirHandle - supply object methods for directory handles
12 $d = DirHandle->new(".");
14 while (defined($_ = $d->read)) { something($_); }
16 while (defined($_ = $d->read)) { something_else($_); }
22 The C<DirHandle> method provide an alternative interface to the
23 opendir(), closedir(), readdir(), and rewinddir() functions.
25 The only objective benefit to using C<DirHandle> is that it avoids
26 namespace pollution by creating globs to hold directory handles.
35 @_ >= 1 && @_ <= 2 or croak 'usage: DirHandle->new( [DIRNAME] )';
39 DirHandle::open($dh, $_[0])
47 # Don't warn about already being closed as it may have been closed
48 # correctly, or maybe never opened at all.
49 local($., $@, $!, $^E, $?);
55 @_ == 2 or croak 'usage: $dh->open(DIRNAME)';
56 my ($dh, $dirname) = @_;
57 opendir($dh, $dirname);
61 @_ == 1 or croak 'usage: $dh->close()';
67 @_ == 1 or croak 'usage: $dh->read()';
73 @_ == 1 or croak 'usage: $dh->rewind()';