dwww Home | Manual pages | Find package

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

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

SYNOPSIS
           use IO::Dir;
           my $d = IO::Dir->new(".");
           if (defined $d) {
               while (defined($_ = $d->read)) { something($_); }
               $d->rewind;
               while (defined($_ = $d->read)) { something_else($_); }
               undef $d;
           }

           tie my %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  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 at <https://github.com/Perl/perl5/issues>.

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.40.1                       2026-08-30                    IO::Dir(3perl)

Generated by dwww version 1.16 on Sat Oct 3 07:43:41 CEST 2026.