Moduł Dir::Handle

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

O czym to jest

Moduł DirHandle wprowadza ciut inny interfejs pracy na katalogach niż jest to standardowo zaprojektowane w perlu. Tworzy on z klasycznego uchwytu katalogu obiekt na którym można wykonac zdefiniowane w tym module operacje.

Opis działania

use DirHandle; $d = new DirHandle "."; if (defined $d) { while (defined($_ = $d->read)) { something($_); } $d->rewind; while (defined($_ = $d->read)) { something_else($_); } undef $d; } Utworzyliśmy tu uchwyt $d za pomocą konstrukotra new. Możemy teraz traktowac ten uchwyt obiektowo, wywołując metody zdefiniowane w module. W tym wypadku zamiast standardowej fukcji readdir() odczytujacej dane z pozycji w katalogu została użyta metoda read z pakietu DirHandle.

Metody modułu DirHandle

new
$dh = new DirHandle [dirname] Konstruktor. Tworzy nowy uchwyt pliku. Opcjonalinie można podac scieżke dostępy do katalogu, domyślnie pobierana jest nazwa katalogu w którym pracujemy.
close
$dh->close() Zamyka uchwyt katalogu. Ekwiwalent funkcji closedir.
open
$dh->open(dirname) Otwiera katalog dirname. Ekwiwalent funkcji opendir.
read
$dh->read() Czyta zawartośc katalogu. Ekwiwalent funkcji readdir. W kontekście skalarnym czyta następną zawartośc katalogu. W listowym czyta całą zawartośc katalogu.
rewind
$dh->rewind() Ustawia obecną pozycje do początku katalogu. Ekwiwalent funkcji rewinddir.

Słowo końcowe

Jak widac moduł nie jest szalenie przydatny, można się śmiało bez niego obejść. Jedyną zaletą może byc fakt, iż jak to ładnie ujęto w cpanie "avoids namespace pollution", czyli ponieważ uchwyty są definiowane w przestrzeni modułu DirHandle, nowo powstałe uchwyty nie zaśmiecają przestrzeni nazw innych częsci kodu.

Autor modułu i kontakt do niego

Brak danych na cpanie.

Inne informacje

DirHandle na cpanie

Kontakt i informacje o autorze opracowania

Autor: Paweł Koko

Email: pkoko@manta.univ.gda.pl

IM: gg:4389151

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.