DirHandle - (過時) 提供目錄句柄的物件方法
# recommended approach since Perl 5.6: do not use DirHandle
if (opendir my $d, '.') {
while (readdir $d) { something($_); }
rewind $d;
while (readdir $d) { something_else($_); }
}
# how you would use this module if you were going to
use DirHandle;
if (my $d = DirHandle->new(".")) {
while (defined($_ = $d->read)) { something($_); }
$d->rewind;
while (defined($_ = $d->read)) { something_else($_); }
}
現在沒有理由使用這個模組。
DirHandle
方法提供一個替代介面給 opendir()
、closedir()
、readdir()
和 rewinddir()
函式。
在 Perl 5.5 之前,opendir()
無法從 undef
自動建立目錄句柄,因此使用詞彙句柄需要使用 Symbol 的函式來建立匿名的 glob,這需要一個額外的步驟。DirHandle
封裝了這個步驟,讓程式碼比 opendir()
更簡潔。自 Perl 5.6 之後,opendir()
本身就足以應付詞彙句柄了。