內容

名稱

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 的結果。從雜湊中刪除元素會刪除對應的檔案或子目錄,前提是 OPTIONS 中包含 DIR_UNLINK

指定雜湊中的條目會導致修改檔案的時間戳記。如果檔案不存在,則會建立檔案。指定單一整數給雜湊元素會導致存取時間和修改時間都變更為該值。或者,可以傳遞對兩個值的陣列的參考。第一個陣列元素會用來設定存取時間,第二個元素會用來設定修改時間。

另請參閱

File::stat

作者

Graham Barr。目前由 Perl Porters 維護。請將所有錯誤回報至 https://github.com/Perl/perl5/issues

版權

版權所有 (c) 1997-2003 Graham Barr <gbarr@pobox.com>。保留所有權利。此程式為自由軟體;您可以在與 Perl 相同的條款下重新散布或修改它。