内容

名称

IO::Dir - 为目录句柄提供对象方法

概要

    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";
    }

说明

IO::Dir 包为 perl 的目录读取例程提供两个接口。

第一个接口是一种对象方法。IO::Dir 提供了一个对象构造函数和方法,它们只是 perl 内置目录读取例程的包装。

new ( [ DIRNAME ] )

newIO::Dir 对象的构造函数。它接受一个可选参数,如果给定,new 将传递给 open

以下方法是 perl 中内置的目录相关函数的包装(已从名称中删除了尾随的“dir”)。有关这些函数的详细信息,请参见 perlfunc

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

IO::Dir 还通过一个绑定的哈希提供一个读取目录的界面。绑定的哈希通过使用 File::stat 包中的 lstatunlinkrmdirutime 扩展了界面,而不仅仅是目录读取例程。

tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]

哈希的键将是目录中条目的名称。从哈希中读取值将是调用 File::stat::lstat 的结果。从哈希中删除元素将删除相应的文件或子目录,前提是 DIR_UNLINK 包含在 OPTIONS 中。

向哈希中的条目赋值将导致修改文件的时间戳。如果文件不存在,则将创建它。向哈希元素分配一个整数将导致访问时间和修改时间都更改为该值。或者,可以传递对两个值的数组的引用。第一个数组元素将用于设置访问时间,第二个元素将用于设置修改时间。

另请参阅

File::stat

作者

Graham Barr。目前由 Perl Porters 维护。请在 https://github.com/Perl/perl5/issues 报告所有错误。

版权

版权所有 (c) 1997-2003 Graham Barr <[email protected]>。保留所有权利。此程序是免费软件;您可以在与 Perl 本身相同的条款下重新分发或修改它。