Moduł File::Handle
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
O czym to jest
Moduł FileHandle wprowadza ciut inny interfejs pracy na plikach niż to jest standardowo zaprojektowane w perlu. Tworzy on z klasycznego uchwytu pliku obiekt na którym można wykonac zdefiniowane w module metody.
Opis działania
use FileHandle;
$fh = new FileHandle;
if ($fh->open("< file")) {
print <$fh>;
$fh->close;
}
$pos = $fh->getpos;
$fh->setpos($pos);
}
Utworzyliśmy tu uchwyt $fh za pomocą konstrukotra new. Możemy teraz traktowac ten uchwyt obiektowo, wywołując metody zdefiniowane w module.
W tym wypadku wywołaliśmy standardową funkcję open do otwarcia pliku a następnie funkcję close, która służy do zamknięcia uchwytu.
Oprócz tego wykorzystana została funkcje zdefiniwane w module FileHandle - getpos i setpos, które odpowiednio pobierają i ustawiją obecną pozycje
uchwytu.
Metody modułu DirHandle
- new
$fh = new FileHandle [filename[, mode]]
Konstruktor. Tworzy uchwyt pliku, który jest referencją do nowo stworzonego symbolu. Opcjonalne parametry - filename i mode są przekazywane do funcji open. Obiekt FileHandle jest zwracany jeśli powiedzie się operacja open, w przecwinym wypadku zostaje zniszczony.- new_from_fd
$fh = new_from_fd FileHandle fd, mode
Konstruktor. Tworzy uchwyt pliku, ale pobiera mode i deskryptor pliku fd, zamiast nazwy pliku jako obowiązkowe parametery.- open
$fh->open filename [openmode]
Pobiera nazwę pliku i opcjonalnie openmode i otwiera plik. Jeśli występuje openmode może byc on podany w Perlu (>, +<) w formiw POSIXowej (w, r+).- fdopen
$fh->fdopen fdname [openmode]
Działa podobnie jak open, z tym wyjątkiem iż jego pierwszym parametrm nie jest nazwa pliku a jego uchwyt, obiekt FileHandle, lub deskryptor pliku.- getpos
$pos = $fh->getpos
Jeśli funkcje C fgetpos(3) i fsetpos(3) są dostępne, getpos zwraca obecną pozycję $pos uchwytu pliku.- setpos
$fh->setpos pos
Używa wartości (pos) zwróconej przez getpos aby odzyskac poprzednią pozycję uchwytu pliku.- setvbuf
$fh->setvbuf(params)
Pobiera takie same parametry jak funkcja C setvbuf(3) i używa funkcji C do ustalenia buforowania dla obiektów FileHandle.
Pointa
Moduł ten głównie służy do zastępowania zmiennych interpunkcyjnych Perla bardziej obiektowo wyglądającymi wywołaniami. Służy również jako interfejs do modułów takich jak IO::Handle i IO::File. Ciekawą właściwością tego modułu jest dostęp do rzadkich funkcji z biblioteki C jak np. setvbuf(3) opisanej powyżej.
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