use DirHandle; my $d = new DirHandle "."; # open the current directory if (defined $d) { while (defined($_ = $d->read)) { something($_)}; $d->rewind; while (defined($_ = $d->read)) { something_else($_)}; }