Kurs pobrano ze strony:
www.BlueMan.aplus.pl

netm@gia - serwis internetowy

netm@gia: webmaster / kurs Perl / obsługa plików tekstowych

ściągnij wersję off-line:
szukaj w szpiego.m@gii:

Co to jest ten Perl
Perl [Practical Exraction and Report Language] to z założenia praktyczny, interpretowany język programowania przeznaczony przede wszystkim do wykonywania różnych zadań systemowych m.in. przeszukiwania plików tekstowych, pobierania z nich informacji i generowania komunikatów na ich podstawie. Świetnie nadaje się on do pisania skryptów CGI.

prawa autorskie
Autorem niniejszego kursu jest Kazimierz Pietruszewski. Dokument ten można rozprowadzać bez ograniczeń, lecz jedynie w niezmienionej formie (poza konwersją z SGML do innych formatów) i o ile nie są pobierane jakiekolwiek opłaty z jego tytułu.

netm@gia
Kurs ten jest udostępniany przez serwis internetowy netm@gia zarówno na stronach WWW w dziale webmaster, jak i w postaci spakowanej ZIPem.

STYLEKreator - narzędzie dla nowoczesnych webmasterów
reklama w netm@gii

Każdy plik przed zapisem lub odczytem należy otworzyć, a po zakończeniu operacji na nim - zamknąć. Do otwarcia jakiegokolwiek pliku w języku Perl służy rozbudowana funkcja open, zaś do zamknięcia - close. Nie ma żadnych limitów ilości otwieranych plików w Perlu poza zewnętrznymi, systemowymi. Schemat obsługi pliku jest prosty:

open(DANE, ścieżka_do_pliku); # otwarcie pliku
                              # (DANE to
                              # przykładowa
                              # nazwa)
[ ... ]                       # operacje na
                              # nim
close(DANE);                  # zamknięcie
                              # pliku

Plik jednakże może zostać otwarty na kilka sposobów:

open(DANE, ścieżka_do_pliku);    # dwa sposoby
                                 # otwarcia
open(DANE, "<ścieżka_do_pliku"); # pliku
                                 # do odczytu

open(DANE, ">ścieżka_do_pliku");  # otwarcie
                                  # pliku do
                                  # zapisu

open(DANE, ">>ścieżka_do_pliku"); # otwarcie
                                  # pliku do
                                  # dopisywania

Często przydatną rolę w lokalizacji plików na dysku pełnią rozszerzenia sh. Można z nich skorzystać, kiedy ujmiemy ścieżkę do pliku w odpowiednie nawiasy. Na przykład chcąc otworzyć plik znajdujący się w katalogu domowym użytkownika, napiszemy:

open(DANE, <~/plik.txt>);

Najprostszym przypadkiem wyprowadzania danych z pliku będzie wczytanie do tablicy całej zawartości pliku tekstowego:

open(F, '/etc/passwd');   # otwarcie pliku do 
                          # odczytu
@tekst = <F>;             # zapisanie tekstu
                          # z pliku w tablicy
                          # (każda linia
                          # zostaje
                          # umieszczona z
                          # osobna, w jednym
                          # polu tablicy)
close(F);                 # zamknięcie pliku

A tak zapisujemy dane do pliku:

open(DANE, '>dane.txt'); # otwarcie pliku
                         # do zapisu
print DANE "Tekst zapisywany do pliku.\n";
                         # zapisanie tekstu
                         # do pliku
close(DANE);             # zamknięcie pliku

Za pomocą funkcji open możemy także otwierać i zamykać standardowe wejście (najczęściej klawiatura) i wyjście (najczęściej ekran).

open(DANE, '-');        # otwarcie
                        # standardowego
                        # wejścia
open(DANE, '>-');       # otwarcie
                        # standardowego
                        # wyjścia

Funkcja open może także zostać użyta do otwierania strumieni w środowiskach wieloprocesowych. W poniższym przykładzie posortujemy kilka łańcuchów przy użyciu zewnętrznej komendy sort:

open(SORT, "|sort");  # otwarcie strumienia
print SORT ("d\n", "z\n", "a\n");
close SORT;
wstecz dalej

(c) netm@gia 1998-2k

Kurs pobrano ze strony:
www.BlueMan.aplus.pl