IO::Dir(3) Perl Programmers Reference Guide IO::Dir(3)NAMEIO::Dir - supply object methods for directory handles
SYNOPSIS
use IO::Dir;
$d = new IO::Dir ".";
if (defined $d) {
while (defined($_ = $d->read)) { something($_); }
$d->rewind;
while (defined($_ = $d->read)) { something_else($_); }
undef $d;
}
tie %dir, IO::Dir, ".";
foreach (keys %dir) {
print $_, " " , $dir{$_}->size,"\n";
}
DESCRIPTION
The "IO::Dir" package provides two interfaces to perl's
directory reading routines.
The first interface is an object approach. "IO::Dir" pro
vides an object constructor and methods, which are just
wrappers around perl's built in directory reading rou
tines.
new ( [ DIRNAME ] )
"new" is the constuctor for "IO::Dir" objects. It
accepts one optional argument which, if given, "new"
will pass to "open"
The following methods are wrappers for the directory
related functions built into perl (the trailing `dir' has
been removed from the names). See the perlfunc manpage for
details of these functions.
open ( DIRNAME )
read ()
seek ( POS )
tell ()
rewind ()
close ()
"IO::Dir" also provides a interface to reading directories
via a tied HASH. The tied HASH extends the interface
beyond just the directory reading routines by the use of
"lstat", from the "File::stat" package, "unlink", "rmdir"
and "utime".
tie %hash, IO::Dir, DIRNAME [, OPTIONS ]
The keys of the HASH will be the names of the entries in
the directory. Reading a value from the hash will be the
result of calling "File::stat::lstat". Deleting an element
from the hash will call "unlink" providing that
"DIR_UNLINK" is passed in the "OPTIONS".
Assigning to an entry in the HASH will cause the time
stamps of the file to be modified. If the file does not
exist then it will be created. Assigning a single integer
to a HASH element will cause both the access and modifica
tion times to be changed to that value. Alternatively a
reference to an array of two values can be passed. The
first array element will be used to set the access time
and the second element will be used to set the modifica
tion time.
SEE ALSO
the File::stat manpage
AUTHOR
Graham Barr. Currently maintained by the Perl Porters.
Please report all bugs to <perl5-porters@perl.org>.
COPYRIGHT
Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All
rights reserved. This program is free software; you can
redistribute it and/or modify it under the same terms as
Perl itself.
2001-02-22 perl v5.6.1 IO::Dir(3)