[ Pobierz całość w formacie PDF ]
Czarna Księga - PERL 149
Steven Holzner
Czarna Księga - Perl
Wprowadzenie
Niniejsza książka ma dać Ci wszystko, czego potrzebujesz, aby stać się programistą w Perlu, a to przecież znaczy bardzo wiele. Perl nie jest zwykłym językiem programowania. Osoby go używające oddają się pracy z pasją, są zdolni do wzruszenia i zadziwienia, ale także do rozpaczy i frustracji. Perl to więcej niż język programowania — to praprzyczyna, zajęcie dla poetów i fanatyków komputera. Perl może być złożony i trudny do opanowania, ale dla prawdziwego entuzjasty nie ma innej drogi. Zresztą po przeczytaniu tej książki zrozumiesz, o co mi chodzi.
W ciągu dwunastu lat tryumfalnego pochodu przez informatyczne salony praktyczny język pobierania danych i raportowania (przez niektórych często nazywany „chorobliwie zabałaganionym generatorem śmieci") stał się przyczyną wielu emocji. Wiele osób poświęca zadziwiająco dużo czasu na jego używanie, udoskonalanie i rozbudowę. Autor swoją pracę z Perlem zaczął wiele lat wcześniej, zanim wpadł mu do głowy pomysł napisania tej książki. Być może sposób myślenia — zaprezentowany w tej książce — spodoba się niektórym Czytelnikom, powiększając grono prawdziwych entuzjastów Perla?
Zawartość tej książki
W tej książce nie tylko podano kompletny opis składni języka Perl, ale opisano także sam język oraz zakres jego używania. Na przykład Perla można znaleźć niemalże w każdym miejscu w Internecie, zatem w książce podano wiele praktycznych przykładów CGI. Innym popularnym zestawieniem jest połączenie Perla i Tcl/Tk, co umożliwia między innymi wyświetlanie okien, przycisków czy menu — również ten temat jest opisany w książce. Istnieje jeszcze kilka innych zagadnień, omówionych tutaj, a związanych z Perlem, takich jak łączenie tego języka z bazami danych, serwerami OLE Windows, innymi procesami i tak dalej. Jak widać, proponowana książka ma dać obraz tego, jak język Perl jest używany dzisiaj.
W Perlu 5 istnieje wiele rozszerzeń, które zostaną w tej książce przedstawione. Czytelnik znajdzie w niej m.in. następujące zagadnienia: pisanie czytelnego kodu Perl, użycie bloków BEGIN i END w pakietach, zgodność z POSIX, programowanie obiektowe, dowolne zagnieżdżanie struktur danych, zakresy leksykalne, użycie modułów i tak dalej.
Język Perl 5 stanowi całkiem nową jakość i na tej właśnie wersji niniejsza książka jest oparta.
Książkę tę podzielono na osobne, wygodne w użyciu tematy, a jest ich blisko pięćset. Każdy temat zawiera omówienie jednego zagadnienia programistycznego. Poniżej znajduje się lista wybranych tematów:
* składnia Perla 5: instrukcje i deklaracje,
* interaktywne uruchamianie skryptów Perla,
* wprowadzanie i wyprowadzanie tekstu,
* tworzenie zmiennych skalarnych,
* kontekst skalarny i listowy,
* tworzenie tablic i asocjacji,
* typy globalne i tabele symboli,
* operatory Perla,
* wzorce tekstowe i obsługa tekstów,
* tworzenie procedur,
* zmienne o ograniczonym zakresie,
* zmienne tymczasowe,
* zmienne statyczne,
* procedury rekurencyjne,
* anonimowe tablice, asocjacje i procedury,
* wskaźniki Perla,
* wskaźniki symboliczne,
* szablony funkcji,
* zmienne specjalne Perla,
* funkcje wbudowane Perla,
* funkcje POSIX,
* formaty Perla,
* komunikacja międzyprocesowa,
* OLE Win32,
* obsługa plików,
* pliki baz danych DBM,
* blokowanie plików,
* operatory do obsługi katalogów,
* testy wydajności,
* operacje zależne od ustawień narodowych,
* wydzielanie kodu do zabezpieczonych części,
* Perl/Tk: użycie pakietu Tk,
* rekordy złożone,
* tablice tablic, tablice asocjacyjne tablic asocjacyjnych, tablice tablic asocja cyjnych i tablice asocjacyjne tablic,
* listy powiązane i bufory pierścieniowe,
* pakiety Perla,
* konstruktor/ i destruktory pakietów,
* rozbijanie pakietów między pliki,
* moduły Perla,
* eksportowanie symboli z modułów,
* automatyczne ładowanie procedur modułu,
* klasy Perla,
* metody klas,
* zmienne instancji i klas,
* dziedziczenie klas,
* dziedziczenie wielokrotne,
* wiązanie skalarów, tablic i asocjacji,
* przechwytywanie błędów wykonania,
* debugger Perla,
* PerlScript,
* programowanie CGI,
* tworzenie i używanie w CGI kontrolek HTML,
* CGI a bezpieczeństwo,
* oznaczanie danych jako skażonych,
* przyznawanie skryptom CGI dodatkowych uprawnień,
* tworzenie liczników odwiedzin,
* tworzenie książki gości,
* wysyłanie listów elektronicznych ze skryptów CGI,
* tworzenie chat,
* zagadnienia bezpieczeństwa w przypadku wielu użytkowników,
* odpieranie ataków DOS,
* odświeżanie elementów graficznych HTML,
* tworzenie cookies,
* przechowywanie w stronach danych pomiędzy kolejnymi wywołaniami skryptu.
W tej książce używamy kilka konwencji, o których należy pamiętać. Kiedy konieczne jest wskazanie jakiegoś wiersza kodu, będzie on zaznaczony pogrubieniem:
$text = "Hello!\n"
print $text;
Kiedy natomiast należy pokazać wyniki działania skryptu — niezależnie od samego skryptu, wyniki te będą zapisywane kursywą:
Stext = "Hello!\n"
print Stext;
Hello
Co będzie nam potrzebne?
Autor opiera się w książce na języku Perl w wersji 5.005. Perl jest darmowy, wystarczy go załadować i zainstalować — zagadnienie to zostanie omówione w rozdziale pierwszym. W przypadku korzystania z systemu wieloużytkownikowego Perl może już być zainstalowany; aby to sprawdzić, wystarczy w wierszu poleceń wyświetlić numer wersji Perła:
perl -v
Warto wziąć pod uwagę jeszcze dwie sprawy, jeśli chodzi o samodzielne uruchamianie Perla: zaleca się użycie przełącznika -w, który powoduje wyświetlanie ostrzeżeń (być może kiedyś wyświetlanie ostrzeżeń stanie się w Perlu standardem), oraz użycie dyrektywy kompilatora use strict, która powoduje, że konieczne jest deklarowanie wszystkich zmiennych i innych symboli. Zadbanie o te dwie rzeczy zaoszczędzi wielu kłopotów przy uruchamianiu programów.
Trzeba będzie jeszcze w jakiś sposób tworzyć same skrypty Perla. Wspomniane skrypty to zwykłe pliki tekstowe, zawierające instrukcje i deklaracje Perla. Aby utworzyć skrypt Perla, potrzebny jest edytor tekstowy, który potrafi pliki zapisywać jako zwykły tekst. Więcej informacji na ten temat znajdziesz w rozdziale L, w punkcie „Zapisywanie skryptów Perla".
Istnieje jeszcze jedna dziedzina wiedzy, która jest nam zbędna — system operacyjny, w którym Perl działa. Wprawdzie w wielu książkach o Perlu niejako z góry zakłada się, że jesteś doświadczonym programistą Uniksa, ale tyrh razem będzie inaczej. Per! już nie jest ściśle związany z Uniksem i czas, aby zerwać z dawną tradycją książek o tym języku.
Inne zasoby
Istnieje mnóstwo informacji o Perlu, które mogą pomóc w nauce, zresztą wraz z Pędem jest dostarczana bogata dokumentacja. W systemach takich jak Windows dokumentacja ta ma postać zestawu powiązanych ze sobą stron HTML. W systemach wieloużytkonikowych dokumentacja zwykle jest dostępna- dzięki poleceniom systemu operacyjnego, obsługującym pomoc —jak np. mań w Uniksie.
Funkcjonuje też mnóstwo grup dyskusyjnych dla programistów Perla:
* comp.lang.perl.announce — grupa, na której stale coś się dzieje,
* com.lang.perl.mixc — dynamiczna grupa, która między innymi rozsyła FAQ Perla (Często zadawane pytania),
* com.lang.perl.modules — wszystko o tworzeniu modułów i wielokrotnym użyciu kodu, zarówno własnego, jak i cudzego,
* comp.lang.perl.tk — informacje o łączeniu Perla z pakietem Tk języka Tcl. Pakiet Tk obsługuje szereg elementów graficznych, jak choćby przyciski czy menu, dzięki czemu elementy te można automatycznie używać także w Perlu. Obecnie pakiet Tk stał się bardzo popularny.
Jeśli kogoś interesuje programowanie CGI, warto skorzystać z adresu grupy:
* comp.infosystemx.www.authoring.cgi — w nazwie nie ma tu Perla, ale jest to dobre miejsce do rozmowy na temat zastosowania Perla w CGI.
Istnieje także wiele stron o Perlu (zapytanie o Perla zwróciło l 527 903 stron):
* strona główna Perla to www.perl.com, gdzie znajdziesz kod źródłowy i wersje Perla na różne systemy operacyjne, dokumentację, moduły, informacje o błędach i listę często zadawanych pytań (FAQ, dostępne pod adresem www:perl.com/perl/faq);
* w witrynie CPAN (Comprehensive Perl Archive Network), dostępnej pod adresem www.cpan.org lub www.perl.com/CPAN-local/CPAN.html, znajdziesz samego Perla, jego moduły, rozszerzenia oraz mnóstwo innych rzeczy związanych z tym językiem. Jest to ogromne źródło wiedzy i zasobów dla wszystkich, którzy używają Perla. Przeglądając zawartość CPAN, znajdziesz mnóstwo przydatnego kodu — od rozszerzeń Perla umożliwiających obsługę obrazków po moduły internetowe do obsługi interfejsów do baz danych;
* Instytut Perla spod adresu www.perl.com jest niedochodową organizacją, która — zgodnie ze przyjętymi przez siebie założeniami — „troszczy się o to, aby Perl był dostępny, przydatny i darmowy dla wszystkich zainteresowanych". Instytut ten jest ostoją perłowej społeczności i zapewnia fanom tego języka stałe kontakty;
* strona języka Perl znajduje się pod adresem www.perl.com/perl/, a znajdziesz tam omówienie Perla, nowinki, listę dostępnych zasobów oraz oprogramowanie. Tam też są dostępne listy wysyłkowe na temat Perła;
* istnieje wiele innych stron, które koncentrują się na pewnych aspektach pracy z Perlem — na bezpieczeństwie, programowaniu CGI i innych. Warto po prostu poszukać w Sieci, aby znaleźć jeszcze więcej ciekawych informacji.
Można sięgnąć również po kwartalnik poświęcony Perłowi. Więcej informacji na jego temat znajdziesz pod adresem orwcmt.www.media.mit.edu/thej3erljournal.
I to tyle informacji tytułem wstępu, teraz czas zająć poważniej się Perlem.
Część I Składnia języka Perl
Rozdział 1. Co o Perlu trzeba wiedzieć?
W skrócie
Zaczynamy od początku
W tym rozdziale zaczniemy naukę Perla. Najpierw omówimy rzeczy najważniejsze — tworzenie i uruchamianie skryptów. Wiadomości z tego rozdziału to absolutne podstawy, których znajomość jest niezbędna w dalszej części książki. Omówimy tutaj też wyświetlanie tekstu i odczytywanie informacji podawanych przez użytkownika. Zapewne treści tutaj przedstawione dla większości czytelników nie będą niczym nowym, dlatego rozdział ten warto potraktować jako krótkie przypomnienie. Jednak niektóre informacje będą nowością— można przypuszczać na przykład, że bardzo niewiele osób zna wszystkie przełączniki wiersza poleceń Perla.
Perl powstał w 1986 roku jako narzędzie do śledzenia przebiegu konfigurowania systemu w sieci, dziś zaś stał się przenośnym językiem używanym przez ogromną część użytkowników Sieci, dlatego Perla można spotkać niemalże wszędzie w Internecie.
Jeśli znasz język angielski, mógłbyś zapytać, czemu „Perl", a nie „Pearl" (perła)! Okazuje się, że w czasie, kiedy Perl powstawał, istniał już język graficzny Pearl. Z drugiej strony jednak, jeśli z pełnej nazwy — Practical Extraction and Reporting Language — utworzyć akronim z użyciem wszystkich słów, to faktycznie otrzyma się nazwę Pearl.
Perl jest językiem interpretowanym, który stworzono w celu analizowania plików tekstowych, pobierania z nich informacji i wyświetlania raportów tekstowych zawierających te informacje. Do uruchamiania skryptów Perla używa się interpretera Perla o nazwie perl (zwróć uwagę na różnicę w wielkości liter). Warto tu napomknąć, że istniej ą też kompilatory Perla.
Niektórzy dziwią się popularności Perla, języka — bądź co bądź — związanego ze środowiskiem tekstowym, a do tego uruchamianym z wiersza poleceń, podczas gdy standardem stają się interfejsy graficzne, takie jak Windows. Wśród przyczyn sukcesu Perla i stale zwiększającej się jego popularności można wymienić następujące kwestie:
* Wiele systemów operacyjnych nadal bazuje głównie na trybie tekstowym.
* Perl jest językiem programowania działającym na różnych platformach sprzętowych i w różnych systemach operacyjnych, zaś różnice między poszczególnymi systemami są niewielkie i dotyczą tylko takich szczegółów, jak na przykład liczba bajtów używanych do przechowywania długiej liczby całkowitej;
* Dzięki wykorzystaniu pakietu Tk.pm Perl stał się narzędziem graficznym (zajmiemy się tym dokładniej w rozdziale 13.), gdyż mo...
[ Pobierz całość w formacie PDF ]