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
是 IO::Dir
对象的构造函数。它接受一个可选参数,如果给定,new
将传递给 open
以下方法是 perl 中内置的目录相关函数的包装(已从名称中删除了尾随的“dir”)。有关这些函数的详细信息,请参见 perlfunc。
IO::Dir
还通过一个绑定的哈希提供一个读取目录的界面。绑定的哈希通过使用 File::stat
包中的 lstat
、unlink
、rmdir
和 utime
扩展了界面,而不仅仅是目录读取例程。
哈希的键将是目录中条目的名称。从哈希中读取值将是调用 File::stat::lstat
的结果。从哈希中删除元素将删除相应的文件或子目录,前提是 DIR_UNLINK
包含在 OPTIONS
中。
向哈希中的条目赋值将导致修改文件的时间戳。如果文件不存在,则将创建它。向哈希元素分配一个整数将导致访问时间和修改时间都更改为该值。或者,可以传递对两个值的数组的引用。第一个数组元素将用于设置访问时间,第二个元素将用于设置修改时间。
Graham Barr。目前由 Perl Porters 维护。请在 https://github.com/Perl/perl5/issues 报告所有错误。
版权所有 (c) 1997-2003 Graham Barr <[email protected]>。保留所有权利。此程序是免费软件;您可以在与 Perl 本身相同的条款下重新分发或修改它。