Moduł File::Handle

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

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

FileHandle 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.