


IO::Dir(3p)      Perl Programmers Reference Guide     IO::Dir(3p)


NAME
       IO::Dir - supply object methods for directory handles

SYNOPSIS
           use IO::Dir;
           $d = IO::Dir->new(".");
           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"
       provides an object constructor and methods, which are just
       wrappers around perl's built in directory reading
       routines.

       new ( [ DIRNAME ] )
           "new" is the constructor 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 perlfunc for details of
       these functions.

       open ( DIRNAME )
       read ()
       seek ( POS )
       tell ()
       rewind ()
       close ()

       "IO::Dir" also provides an 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



perl v5.10.1                2009-10-12                          1





IO::Dir(3p)      Perl Programmers Reference Guide     IO::Dir(3p)


       result of calling "File::stat::lstat".  Deleting an
       element from the hash will delete the corresponding file
       or subdirectory, provided that "DIR_UNLINK" is included 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
       modification 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
       modification time.

SEE ALSO
       File::stat

AUTHOR
       Graham Barr. Currently maintained by the Perl Porters.
       Please report all bugs to <perl5-porters@perl.org>.

COPYRIGHT
       Copyright (c) 1997-2003 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.






























perl v5.10.1                2009-10-12                          2


