okladka
W nowym wydaniu sławnego bestsellera dwaj czołowi eksperci w dziedzinie języka Perl odsłaniają przed nami tajniki najbardziej uniwersalnego spośród języków skryptowych ery WWW. Ten starannie opracowany podręcznik, poprzedzony przedmową autorstwa twórcy języka, Larry"ego Walla, uznawany jest za półoficjalny podręcznik szkoleniowy i praktyczny przewodnik programisty. Najnowsze, zaktualizowane wydanie książki obejmuje wersję 5.004 języka Perl.

"Perl. Wprowadzenie" to praktyczny kurs programowania zorientowany na przekazanie czytelnikowi wiedzy pozwalającej mu na jak najszybsze rozpoczęcie własnych doświadczeń. Każdy rozdział książki uzupełniony jest ćwiczeniami i odpowiedziami do nich. Nowością w tym wydaniu jest obszerny rozdział traktujący o programowaniu CGI, a także informacje o użyciu modułów bibliotecznych, referencji i konstrukcji obiektowych.

Perl jest językiem przeznaczonym do przetwarzania plików, tekstów i manipulowania procesami. Wchodzi on standardowo w skład większości systemów z rodziny Unix, a jego implementacje są dostępne bez opłat również dla pozostałych ważniejszych systemów operacyjnych.

W książce tej znajdziesz:

  • wprowadzenie do języka Perl
  • systematyczne, szczegółowe omówienie licznych funkcji i możliwości języka
  • liczne przykłady
  • ćwiczenia praktyczne wraz ze szczegółowymi odpowiedziami
  • informacje o wywoływaniu poleceń systemu z poziomu skryptów
  • omówienie wykorzystania Perla do zarządzania bazami danych DBM
  • wprowadzenie do programowania CGI na potrzeby sieci WWW

Słowo wstępne (9)
Przedmowa (13)
  • O czym mówi ta książka? (13)
  • Gdzie znaleźć rozwiązania ćwiczeń? (14)
  • Dodatkowe informacje (14)
  • Jak zdobyć Perla? (18)
  • Konwencje typograficzne (22)
  • Dodatkowe informacje i wsparcie techniczne (22)
  • Podziękowania do wydania pierwszego (23)
  • Podziękowania do wydania drugiego (24)
  • Jak kontaktować się z wydawcą? (24)
Rozdział 1: Wstęp (25)
  • Dzieje Perla (25)
  • Przeznaczenie Perla (26)
  • Dostępność (26)
  • Podstawy (27)
  • Wycieczka po Perlu (28)
  • Ćwiczenie (49)
Rozdział 2: Dane skalarne (51)
  • Czym są dane skalarne? (51)
  • Liczby (51)
  • Łańcuchy (52)
  • Operatory skalarne (54)
  • Zmienne skalarne (58)
  • Funkcje i operatory skalarne (59)
  • jako wartość skalarna (62)
  • Wypisywanie danych za pomocą print (63)
  • Wartość niezdefiniowana (63)
  • Ćwiczenia (63)
Rozdział 3: Tablice i listy (65)
  • Czym są listy i tablice? (65)
  • Literały list (65)
  • Zmienne (66)
  • Operatory i funkcje tablicowe (67)
  • Kontekst skalarny i kontekst listowy (71)
  • jako tablica (72)
  • Interpolacja nazw zmiennych tablicowych (72)
  • Ćwiczenia (73)
Rozdział 4: Struktury kontrolne (75)
  • Bloki instrukcji (75)
  • Instrukcje if/unless (75)
  • Instrukcje while/until (77)
  • Instrukcja for (78)
  • Instrukcja foreach (79)
  • Ćwiczenia (80)
Rozdział 5: Tablice asocjacyjne (81)
  • Co to jest tablica asocjacyjna? (81)
  • Tablice asocjacyjne jako zmienne (81)
  • Literalna reprezentacja tablicy asocjacyjnej (82)
  • Funkcje dotyczące tablic asocjacyjnych (82)
  • Wycinki tablic asocjacyjnych (84)
  • Ćwiczenia (84)
Rozdział 6: Podstawowe operacje wejścia-wyjścia (87)
  • Odczytywanie z STDIN (87)
  • Odczytywanie z operatora "diamentu" (88)
  • Wypisywanie danych na STDOUT (88)
  • Ćwiczenia (89)
Rozdział 7: Wyrażenia regularne (91)
  • Wstęp (91)
  • Proste zastosowania (91)
  • Wzorce (92)
  • Więcej o operatorze przyrównania (98)
  • Podstawienia (100)
  • Funkcje split i join (101)
  • Ćwiczenia (102)
Rozdział 8: Funkcje (105)
  • Definiowanie funkcji (105)
  • Wywoływanie funkcji (106)
  • Zwracane wartości (106)
  • Argumenty (107)
  • Zmienne lokalne w funkcjach (108)
  • Zmienne pseudolokalne i funkcja local (110)
  • Zmienne my ( ) na poziomie pliku (111)
  • Ćwiczenia (111)
Rozdział 9: Inne struktury kontrolne (113)
  • Instrukcja last (113)
  • Instrukcja next (114)
  • Instrukcja redo (115)
  • Bloki oznaczone etykietami (115)
  • Modyfikatory wyrażenia (116)
  • && i || (117)
  • Ćwiczenia (118)
Rozdział 10: Uchwyty i sprawdzanie właściwości plików (119)
  • Co to jest uchwyt pliku? (119)
  • Otwieranie i zamykanie uchwytów plików (119)
  • Mała dygresja - instrukcja die (120)
  • Korzystanie z uchwytów plików (121)
  • Badanie właściwości plików (122)
  • Funkcje stat i lstat (124)
  • Ćwiczenia (125)
Rozdział 11: Formaty (127)
  • Czym jest format? (127)
  • Definiowanie formatu (127)
  • Wywoływanie formatu (129)
  • Więcej o polach (130)
  • Format początku strony (133)
  • Zmiana różnych wartości domyślnych (134)
  • Ćwiczenia (136)
Rozdział 12: Katalogi (137)
  • Poruszanie się po drzewie katalogów (137)
  • Globowanie (138)
  • Uchwyty plików (139)
  • Otwieranie i zamykanie uchwytu katalogu (139)
  • Odczytywanie z uchwytu katalogu (140)
  • Ćwiczenia (140)
Rozdział 13: Pliki i katalogi (141)
  • Usuwanie pliku (141)
  • Zmiany nazwy pliku (142)
  • Tworzenie dowiązań (142)
  • Tworzenie i usuwanie katalogów (144)
  • Zmiana praw dostępu (145)
  • Zmiana właściciela pliku (145)
  • Zmiana oznaczeń czasowych (146)
  • Ćwiczenia (146)
Rozdział 14: Zarządzanie procesem (149)
  • Użycie funkcji system i exec (149)
  • Odwrócone apostrofy (151)
  • Zastosowanie procesów jako uchwytów plików (152)
  • Użycie instrukcji fork (153)
  • Spis funkcji operujących procesami (155)
  • Wysyłanie i odbieranie sygnałów (156)
  • Ćwiczenia (157)
Rozdział 15: Przetwarzanie danych (159)
  • Wyszukiwanie ciągu znaków (159)
  • Wycinanie i zamiana ciągu znaków (160)
  • Formatowanie danych za pomocą funkcji sprintf() (161)
  • Sortowanie zaawansowane (161)
  • Zamiana liter (164)
  • Ćwiczenia (166)
Rozdział 16: Dostęp do danych systemu (167)
  • Odczytywanie informacji z plików /etc/passwd i /etc/group (167)
  • Pakowanie i rozpakowywanie danych binarnych (170)
  • Pobieranie informacji sieciowych (171)
  • Ćwiczenie (172)
Rozdział 17: Bazy danych (173)
  • Bazy danych DBM i tablice związane z DBM (173)
  • Otwieranie i zamykanie tablic związanych z DBM (173)
  • Używanie tablicy związanej z DBM (174)
  • Bazy danych o stałej długości rekordu i dostępie bezpośrednim (175)
  • Tekstowe bazy danych o zmiennej długości rekordów (176)
  • Ćwiczenia (177)
Rozdział 18: Perl a awk, sed i shell (179)
  • Konwersja programów napisanych w języku awk (179)
  • Konwersja programów napisanych w języku sed (180)
  • Konwersja programów shellowych (180)
  • Ćwiczenie (181)
Rozdział 19: Tworzenie skryptów CGI (183)
  • Moduł CGI.pm (184)
  • Środowisko działania programu CGI (184)
  • Najprostszy skrypt CGI (186)
  • Przekazywanie parametrów (187)
  • Mniej wpisywania (188)
  • Tworzenie formularza (189)
  • Inne elementy formularzy (191)
  • Tworzenie książki gości (195)
  • Kłopoty ze skryptami CGI &&& (202)
  • Perl i Internet: nie tylko skrypty CGI (203)
  • Lektury (206)
  • Ćwiczenia (206)
Dodatek A: Odpowiedzi do ćwiczeń (207)
  • Rozdział 2., "Dane skalarne" (207)
  • Rozdział 3., "Tablice i listy" (208)
  • Rozdział 4., "Struktury kontrolne" (209)
  • Rozdział 5., "Tablice asocjacyjne" (211)
  • Rozdział 6., "Podstawowe operacje wejścia-wyjścia" (212)
  • Rozdział 7., "Wyrażenia regularne" (213)
  • Rozdział 8., "Funkcje" (215)
  • Rozdział 9., "Inne struktury kontrolne" (217)
  • Rozdział 10. "Uchwyty i testy plików" (217)
  • Rozdział 11., "Formaty" (218)
  • Rozdział 12. "Katalogi" (219)
  • Rozdział 13., "Pliki i katalogi" (220)
  • Rozdział 14., "Zarządzanie procesami" (222)
  • Rozdział 15., "Przetwarzanie danych" (223)
  • Rozdział 16., "Dostęp do danych systemu" (225)
  • Rozdział 17., "Bazy danych" (225)
  • Rozdział 18., "Perl a awk, sed i shell" (226)
  • Rozdział 19., "Tworzenie skryptów CGI" (227)
Dodatek B: Biblioteki i moduły (229)
  • Terminologia (229)
  • Moduły standardowe (230)
  • CPAN: jeszcze więcej (236)
Dodatek C: Perl i praca w sieci (237)
  • Najprostszy program kliencki (238)
  • Klient Webget (239)
  • Klient interaktywny (240)
  • Więcej ciekawostek o pracy w sieci (241)
Dodatek D: Czego w tej książce nie ma? (243)
  • Pełna komunikacja międzyprocesowa (243)
  • Debugger (243)
  • Wiersz poleceń (243)
  • Operatory (244)
  • Mnogość funkcji (244)
  • Predefiniowane zmienne (245)
  • Manipulacja tablicą symboli za pomocą *KAZEK (245)
  • Dodatkowe opcje wyrażeń regularnych (245)
  • Pakiety (245)
  • Rozszerzanie i wbudowywanie (246)
  • I wiele innych rzeczy (247)