Dotychczas nauczyliśmy się, jak korzystać z funkcji języka Perl. Ta teoria jest jednak nie do zastosowania w praktyce, ponieważ nie nauczyliśmy się jeszcze najważniejszej rzeczy - jak przetwarzać dane.
Bez materiału, w oparciu o który możemy pracować, wszystkie wcześniejsze informacje są praktycznie bezwartościowe. Przygotujmy więc jeszcze większą porcję zapasów i nastawmy się na hibernowanie przed ekranem komputera. Przydałby się nam też samoopalacz - będziemy przynajmniej wyglądać tak, jakbyśmy wychodzili przez ostatnie kilka dni z domu.
Przetwarzanie danych to przede wszystkim dwa wielkie słowa: Wejście i Wyjście. Oznaczają one oczywiście dane wejściowe programu i dane wyjściowe. W obu tych przypadkach dotyczyć mogą one dwóch źródeł czy też celów - użytkownika i pliku.
Dane wejściowe od użytkownika to oczywiście te dane, które użytkownik na żywo podaje podczas wykonywania programu. Dane wyjściowe do użytkownika to oczywiście to, co widzimy na ekranie. W przypadku skryptów CGI żaden z tych mechanizmów nie jest praktycznie wykorzystywany, ponieważ parsery formularzy same zbierają wszystkie konieczne dane.
Dane wejściowe i wyjściowe do/z plików są jednak wykorzystywane praktycznie w każdym programie, ponieważ pozwalają na przetwarzanie tego, co przysyłają nam użytkownicy.
Czytanie pliku
Aby móc czytać dane z pliku musi on być najpierw otwarty i nazwany. Musimy też podać pełną ścieżkę dostępu (lokalizację) do pliku. Poniżej przykład:
open (PLIK, "/home/katalog/nazwapliku.txt");
Nazwa pliku powinna zazwyczaj nawiązywać do jego zawartości i pozwolić nam na późniejsze jego zidentyfikowanie.
Jeśli chcemy móc operować na danych, musimy przechować je w zmiennej skalarnej ($), lub w tablicy (@). Przechowując je w zmiennej skalarnej umieszczamy wszystko, co program znajdzie w pliku w jednej zmiennej tekstowej (jednej linii). Jeśli jednak określimy plik jako tablicę, Perl dzieli plik na linie i przechowa każdą z nich oddzielnie w innej komórce tablicy. Jeśli więc założymy, że nazwa pliku to PLIK, to możemy plik ten zdefiniować, jako:
$plik = <PLIK>;
lub
@plik = <PLIK>;
Jeśli chcemy móc potem zapisywać cokolwiek do tego pliku, lub też jeśli jesteśmy zwolennikami "czystego kodu", plik należy po użyciu zamknąć. Aby zamknąć plik piszemy jedynie:
close PLIK;
Zapisanie pliku
Kiedy mamy już wszystkie dane w postaci zmiennej skalarnej lub tablicy, możemy zastosować na nich wszystkie mechanizmy, o których mówiliśmy w trakcie kursu. Po ich zastosowaniu na pewno przyda nam się możliwość zachowania wyników obliczeń w przetwarzanym pliku. Możemy to zrobić na dwa sposoby. Jeśli zmieniliśmy wszystkie dane - będziemy chcieli skasować starą wersję pliku i w jego miejsce zachować nowy z nowymi danymi. W przeciwnym wypadku możemy jedynie dopisać coś na końcu istniejącego pliku. Poniżej prezentujemy przykłady obu tych metod.
zapisywanie do pliku:
open (PLIK, ">/home/katalog/nazwapliku.txt");
dopisywanie na końcu pliku:
open (PLIK, ">>/home/katalog/nazwapliku.txt");
Teraz, skoro już otworzyliśmy plik do zapisu, warto byłoby dowiedzieć się, jak zapisać nasze dane. Robimy to w następujący sposób:
print PLIK "oto nowa linia dopisana do pliku plus znacznik nowej linii\n";
Teraz możemy już zacząć pisać własne skrypty, lub też zmieniać istniejące tak, by spełniały nasze potrzeby.