Moduł Dir::Handle
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
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
Kontakt i informacje o autorze opracowania
Autor: Paweł Koko
Email: pkoko@manta.univ.gda.pl
IM: gg:4389151