reklama - zainteresowany?

Perl. Receptury. Wydanie II - Helion

Perl. Receptury. Wydanie II
Autor: Tom Christiansen, Nathan Torkington
Tytuł oryginału: Perl Cookbook, 2nd Edition
Tłumaczenie: Mateusz Michalski (wstęp, rozdz. 1 - 10), Rafał Szpoton (rozdz. 11 - 16, 22), Sławomir Dzieniszewski (rozdz. 17 - 21)
ISBN: 83-7361-328-5
stron: 1056, Format: B5, okładka: miękka
Data wydania: 2004-02-19
Księgarnia: Helion

Cena książki: 99,90 zł

Dodaj do koszyka Perl. Receptury. Wydanie II

Tagi: Perl - Programowanie | Perl/CGI - Programowanie

Rozwiązania i przykłady dla programistów Perla

Książka "Perl. Receptury. Wydanie II" to wyczerpujący zbiór problemów, ich rozwiązań oraz praktycznych przykładów przydatnych dla wszystkich programujących w Perlu. Pierwsze wydanie książki cieszyło się ogromną popularnością, uznane zostało nie tylko za jedną z najlepszych książek o Perlu, lecz również za najlepszą książkę dotyczącą programowania w dowolnym języku. Ukazanie się pierwszego wydania tej książki to zarazem data powstania nowego rodzaju podręcznika programowania, nie jest to tylko zbiór różnego rodzaju sztuczek i wskazówek, ale przede wszystkim książka, która przedstawia niuanse programowania za pomocą zaczerpniętych z praktyki programistycznej problemów oraz przykładów.

Drugie wydanie książki "Perl. Receptury" zostało rozszerzone w taki sposób, aby opisać nie tylko nowe cechy samego Perla, lecz również nowe technologie powstałe od czasu opublikowania pierwszego wydania. Dodane zostały dwa całkiem nowe rozdziały, a wiele innych zostało poszerzonych: pojawiło się 80 nowych receptur, zaś 100 zostało uaktualnionych.

Książka zawiera omówienie obróbki danych (łańcuchów znakowych, wartości liczbowych, dat, tablic zwykłych oraz asocjacyjnych), obsługi operacji wejścia-wyjścia, wyrażeń regularnych, modułów, odwołań, obiektów, struktur danych, sygnałów, wykorzystania baz danych, tworzenia aplikacji graficznych, stosowania komunikacji międzyprocesowej, bezpieczeństwa, programowania aplikacji internetowych, wykorzystywania CGI oraz LWP.
Tę edycję uzupełniono także o:

  • Opis obsługi standardu kodowania Unicode w Perlu z uwzględnieniem obsługi łańcuchów znakowych, wyrażeń regularnych oraz operacji wejścia-wyjścia.
  • Specjalny rozdział poświęcony programowaniu przy użyciu mod_perla, będącego modułem Apache osadzającym język Perl w tym popularnym serwerze HTTP, co ogromnie przyspiesza wykonywanie zadań w porównaniu z tradycyjnym interfejsem CGI.
  • Nowe oraz uaktualnione receptury opisujące zastosowanie modułów dołączanych do standardowej dystrybucji Perla.
  • Nowy rozdział dotyczący przetwarzania dokumentów XML, światowego standardu wykorzystywanego w procesie tworzenia oraz wymiany dokumentów.

Książka "Perl. Receptury. Wydanie II" została określona mianem najbardziej przydatnej książki napisanej dotychczas o Perlu. Uczy ona programowania w najszybszy sposób: przedstawiając sposób rozwiązania danego zadania przez ekspertów, a następnie jego objaśnienie. Choć książka ta nie jest podręcznikiem języka Perl, pokazuje ona, jak należy programować w tym języku.

Dodaj do koszyka Perl. Receptury. Wydanie II

 

Osoby które kupowały "Perl. Receptury. Wydanie II", wybierały także:

  • Perl. Mistrzostwo w programowaniu
  • Wielkie umysły programowania. Jak myślą i pracują twórcy najważniejszych języków
  • Learning Perl. Making Easy Things Easy and Hard Things Possible. 7th Edition
  • 100 sposobów na Perl
  • Mastering Perl. 2nd Edition

Dodaj do koszyka Perl. Receptury. Wydanie II

Spis treści

Perl. Receptury. Wydanie II -- spis treści

Przedmowa (17)

Wstęp (19)

Rozdział 1. Łańcuchy (31)

  • 1.0. Wprowadzenie (31)
  • 1.1. Dostęp do wybranej części łańcucha (37)
  • 1.2. Ustalanie wartości domyślnych (40)
  • 1.3. Zamiana wartości bez korzystania ze zmiennych tymczasowych (44)
  • 1.4. Konwersja między znakami a liczbami (45)
  • 1.5. Stosowanie nazwanych znaków Unicode (47)
  • 1.6. Przetwarzanie łańcucha znak po znaku (48)
  • 1.7. Odwracanie kolejności słów lub znaków w łańcuchu (51)
  • 1.8. Traktowanie dołączonych znaków Unicode jako pojedynczych znaków (52)
  • 1.9. Sprowadzanie łańcuchów zawierających znaki dołączone Unicode do postaci kanonicznej (54)
  • 1.10. Traktowanie łańcuchów w Unicode jako oktetów (56)
  • 1.11. Rozwijanie i kompresowanie tabulatorów (57)
  • 1.12. Rozwijanie zmiennych we wprowadzanych łańcuchach (59)
  • 1.13. Zmiana wielkości liter (61)
  • 1.14. Formatowanie tytułów i nagłówków (63)
  • 1.15. Interpolacja funkcji i wyrażeń w łańcuchach (66)
  • 1.16. Tworzenie wcięć w dokumentach w miejscu (68)
  • 1.17. Zmiana formatu akapitów (71)
  • 1.18. Wyświetlanie znaków ucieczki (74)
  • 1.19. Usuwanie odstępów z końca łańcucha (76)
  • 1.20. Analizowanie danych oddzielonych przecinkami (78)
  • 1.21. Zmienne niemodyfikowalne (81)
  • 1.22. Dopasowywanie fonetyczne (83)
  • 1.23. Program fixstyle (85)
  • 1.24. Program psgrep (88)

Rozdział 2. Liczby (93)

  • 2.0. Wprowadzenie (93)
  • 2.1. Sprawdzanie czy łańcuch jest poprawną liczbą (95)
  • 2.2. Zaokrąglanie liczb zmiennoprzecinkowych (98)
  • 2.3. Porównywanie liczb zmiennoprzecinkowych (101)
  • 2.4. Działania na ciągach liczb całkowitych (103)
  • 2.5. Obsługa liczb rzymskich (105)
  • 2.6. Generowanie liczb losowych (106)
  • 2.7. Generowanie powtarzalnych sekwencji liczb losowych (107)
  • 2.8. Generowanie liczb jeszcze bardziej losowych (109)
  • 2.9. Generowanie liczb losowych z nierównomiernym rozkładem prawdopodobieństwa (110)
  • 2.10. Działania trygonometryczne wykonywane w stopniach, nie w radianach (112)
  • 2.11. Obliczanie bardziej zaawansowanych funkcji trygonometrycznych (113)
  • 2.12. Obliczanie logarytmów (114)
  • 2.13. Mnożenie macierzy (115)
  • 2.14. Używanie liczb zespolonych (117)
  • 2.15. Konwersja liczb binarnych, ósemkowych oraz szesnastkowych (118)
  • 2.16. Umieszczanie kropek w liczbach (120)
  • 2.17. Poprawne pisanie liczby mnogiej (121)
  • 2.18. Program: obliczanie czynników pierwszych (123)

Rozdział 3. Data i czas (125)

  • 3.0. Wprowadzenie (125)
  • 3.1. Uzyskanie bieżącej daty (128)
  • 3.2. Konwertowanie DMRGMS na liczbę sekund od początku Epoki (129)
  • 3.3. Konwertowanie liczby sekund od początku Epoki na DMRGMS (131)
  • 3.4. Dodawanie lub odejmowanie wartości od dat (132)
  • 3.5. Obliczanie różnicy między dwiema datami (133)
  • 3.6. Obliczanie dnia w tygodniu (miesiącu, roku) lub numeru tygodnia w roku (135)
  • 3.7. Uzyskiwanie daty i czasu z łańcuchów (136)
  • 3.8. Wyświetlanie daty (137)
  • 3.9. Zegary wysokiej rozdzielczości (139)
  • 3.10. Krótkie usypianie systemu (142)
  • 3.11. Program: hopdelta (143)

Rozdział 4. Tablice (147)

  • 4.0. Wprowadzenie (147)
  • 4.1. Określanie listy w programie (149)
  • 4.2. Wyświetlanie listy z przecinkami (150)
  • 4.3. Zmiana rozmiaru tablicy (152)
  • 4.4. Tworzenie rzadkich tablic (154)
  • 4.5. Wykonywanie operacji na wszystkich elementach tablicy (157)
  • 4.6. Wykonywanie operacji na wszystkich elementach tablicy poprzez odwołanie (161)
  • 4.7. Usuwanie powtarzających się elementów z listy (162)
  • 4.8. Wyszukiwanie elementów występujących tylko w jednej tablicy (164)
  • 4.9. Obliczanie sumy, części wspólnej i różnicy list zawierających niepowtarzające się elementy (167)
  • 4.10. Dołączanie jednej tablicy do drugiej (170)
  • 4.11. Odwracanie tablicy (171)
  • 4.12. Przetwarzanie wielu elementów tablicy jednocześnie (172)
  • 4.13. Wyszukanie pierwszego elementu z listy, który spełnia określone kryteria (173)
  • 4.14. Wyszukanie w tablicy wszystkich elementów spełniających określone kryterium (176)
  • 4.15. Sortowanie numeryczne tablicy (178)
  • 4.16. Sortowanie listy według obliczanego pola (179)
  • 4.17. Implementacja list cyklicznych (183)
  • 4.18. Ustawianie elementów tablicy w losowej kolejności (184)
  • 4.19. Program: words (185)
  • 4.20. Program: permute (187)

Rozdział 5. Tablice asocjacyjne (191)

  • 5.0. Wprowadzenie (191)
  • 5.1. Dodawanie elementów do tablicy asocjacyjnej (193)
  • 5.2. Sprawdzanie obecności klucza w tablicy asocjacyjnej (194)
  • 5.3. Tworzenie tablic asocjacyjnych z niezmiennymi kluczami lub wartościami (196)
  • 5.4. Usuwanie elementów z tablicy asocjacyjnej (197)
  • 5.5. Przeglądanie tablicy asocjacyjnej (199)
  • 5.6. Wypisywanie zawartości tablicy asocjacyjnej (202)
  • 5.7. Pobieranie elementów tablicy asocjacyjnej w kolejności ich wstawiania (204)
  • 5.8. Tablice asocjacyjne z wieloma wartościami na klucz (205)
  • 5.9. Odwracanie tablicy asocjacyjnej (207)
  • 5.10. Sortowanie tablicy asocjacyjnej (209)
  • 5.11. Łączenie tablic asocjacyjnych (210)
  • 5.12. Wyszukiwanie wspólnych lub różniących się kluczy w dwóch tablicach asocjacyjnych (212)
  • 5.13. Tablice asocjacyjne z odwołaniami (213)
  • 5.14. Wstępne ustalanie rozmiaru tablicy asocjacyjnej (214)
  • 5.15. Wyszukiwanie najczęściej występujących elementów (215)
  • 5.16. Przedstawianie relacji pomiędzy danymi (216)
  • 5.17. Program dutree (218)

Rozdział 6. Dopasowywanie wzorców (223)

  • 6.0. Wprowadzenie (223)
  • 6.1. Jednoczesne kopiowanie i podstawianie (229)
  • 6.2. Dopasowywanie liter (231)
  • 6.3. Dopasowywanie słów (233)
  • 6.4. Komentowanie wyrażeń regularnych (234)
  • 6.5. Wyszukiwanie n-tego wystąpienia dopasowania (237)
  • 6.6. Dopasowywanie w obrębie wielu wierszy (240)
  • 6.7. Odczytywanie rekordów z separatorem (243)
  • 6.8. Wyodrębnianie linii z określonego zakresu (245)
  • 6.9. Wykorzystanie znaków uniwersalnych powłoki jako wyrażeń regularnych (248)
  • 6.10. Przyspieszanie dopasowań interpolowanych (249)
  • 6.11. Sprawdzanie poprawności wzorca (252)
  • 6.12. Uwzględnianie ustawień regionalnych we wzorcach (254)
  • 6.13. Dopasowywanie przybliżone (255)
  • 6.14. Dopasowywanie od miejsca, do którego poprzednio pasował wzorzec (257)
  • 6.15. Zachłanne i niezachłanne dopasowania (259)
  • 6.16. Wykrywanie powtarzających się wyrazów (262)
  • 6.17. Dopasowywanie wzorców zagnieżdżonych (266)
  • 6.18. Operacje AND, OR i NOT w pojedynczym wzorcu (267)
  • 6.19. Dopasowywanie poprawnego adresu e-mail (272)
  • 6.20. Dopasowywanie skrótów (274)
  • 6.21. Program urlify (276)
  • 6.22. Program tcgrep (277)
  • 6.23. Przegląd interesujących wyrażeń regularnych (283)

Rozdział 7. Dostęp do plików (287)

  • 7.0. Wprowadzenie (287)
  • 7.1. Otwieranie pliku (297)
  • 7.2. Otwieranie plików o nietypowych nazwach (300)
  • 7.3. Rozwijanie znaku tyldy w nazwach plików (302)
  • 7.4. Uwzględnianie nazw plików w komunikatach o błędach (304)
  • 7.5. Przechowywanie uchwytów plików w zmiennych (305)
  • 7.6. Tworzenie procedury przyjmującej uchwyty tak jak funkcje wbudowane (308)
  • 7.7. Buforowanie otwartych wyjściowych uchwytów plików (309)
  • 7.8. Jednoczesny zapis do wielu uchwytów plików (311)
  • 7.9. Otwieranie i zamykanie deskryptorów plików przez ich numery (312)
  • 7.10. Kopiowanie uchwytów plików (314)
  • 7.11. Tworzenie plików tymczasowych (315)
  • 7.12. Przechowywanie pliku w tekście programu (317)
  • 7.13. Przechowywanie wielu plików w polu DATA (319)
  • 7.14. Program filtra w stylu uniksowym (321)
  • 7.15. Modyfikowanie pliku w miejscu z wykorzystaniem pliku tymczasowego (325)
  • 7.16. Modyfikowanie pliku w miejscu za pomocą opcji -i (327)
  • 7.17. Modyfikowanie pliku w miejscu bez pliku tymczasowego (329)
  • 7.18. Blokowanie pliku (330)
  • 7.19. Opróżnianie wyjścia (332)
  • 7.20. Przeprowadzanie nie blokujących operacji wejścia-wyjścia (336)
  • 7.21. Ustalanie liczby nie odczytanych bajtów (337)
  • 7.22. Odczytywanie z wielu uchwytów plików bez blokowania (339)
  • 7.23. Odczytywanie całego wiersza bez blokowania (341)
  • 7.24. Program netlock (343)
  • 7.25. Program lockarea (346)

Rozdział 8. Zawartość plików (351)

  • 8.0. Wprowadzenie (351)
  • 8.1. Odczytywanie linii ze znakami kontynuacji (358)
  • 8.2. Zliczanie linii (paragrafów, rekordów) w pliku (360)
  • 8.3. Przetwarzanie każdego słowa w pliku (361)
  • 8.4. Odczytywanie linii lub paragrafów od końca pliku (363)
  • 8.5. Odczytywanie pliku zwiększającego rozmiar (365)
  • 8.6. Pobieranie losowej linii z pliku (367)
  • 8.7. Losowa zmiana kolejności linii (368)
  • 8.8. Odczytywanie wybranej linii z pliku (369)
  • 8.9. Obsługa pól tekstowych o zmiennej długości (372)
  • 8.10. Usuwanie ostatniej linii pliku (373)
  • 8.11. Operacje na plikach binarnych (374)
  • 8.12. Dostęp do dowolnego miejsca w pliku (375)
  • 8.13. Uaktualnianie rekordu wewnątrz pliku (376)
  • 8.14. Odczyt łańcucha z pliku binarnego (378)
  • 8.15. Odczytywanie rekordów o stałej długości (379)
  • 8.16. Odczytywanie plików konfiguracyjnych (381)
  • 8.17. Sprawdzanie zabezpieczeń pliku (384)
  • 8.18. Traktowanie pliku jak tablicy (386)
  • 8.19. Określanie domyślnych warstw wejścia-wyjścia (387)
  • 8.20. Czytanie i zapisywanie w formacie Unicode (388)
  • 8.21. Konwersja plików tekstowych Microsoft do formatu Unicode (391)
  • 8.22. Porównywanie zawartości dwóch plików (393)
  • 8.23. Traktowanie łańcucha znakowego jak pliku (395)
  • 8.24. Program tailwtmp (396)
  • 8.25. Program tctee (396)
  • 8.26. Program laston (398)
  • 8.27. Program: proste indeksy plików (399)

Rozdział 9. Katalogi (401)

  • 9.0. Wprowadzenie (401)
  • 9.1. Odczytywanie i ustawianie znaczników czasowych (407)
  • 9.2. Usuwanie pliku (408)
  • 9.3. Kopiowanie lub przenoszenie pliku (409)
  • 9.4. Wykrywanie dwóch nazw tego samego pliku (411)
  • 9.5. Przetwarzanie wszystkich plików z katalogu (412)
  • 9.6. Globbing, czyli pobieranie listy nazw plików zgodnych z wzorcem (414)
  • 9.7. Rekursywne przetwarzanie wszystkich plików z katalogu (416)
  • 9.8. Usuwanie katalogu wraz z zawartością (418)
  • 9.9. Zmiana nazw plików (420)
  • 9.10. Podział nazwy pliku na składowe (422)
  • 9.11. Symboliczna reprezentacja praw dostępu do pliku (423)
  • 9.12. Program symirror (426)
  • 9.13. Program lst (426)

Rozdział 10. Procedury (431)

  • 10.0. Wprowadzenie (431)
  • 10.1. Dostęp do argumentów procedury (432)
  • 10.2. Przekształcanie zmiennych w prywatne dla funkcji (434)
  • 10.3. Tworzenie trwałych zmiennych prywatnych (436)
  • 10.4. Określanie nazwy bieżącej funkcji (438)
  • 10.5. Przekazywanie tablic i tablic asocjacyjnych przez odwołanie (440)
  • 10.6. Wykrywanie kontekstu powrotnego (441)
  • 10.7. Przekazywanie nazwanego parametru (442)
  • 10.8. Pomijanie wybranych wartości zwracanych (444)
  • 10.9. Zwracanie więcej niż jednej tablicy (445)
  • 10.10. Zwracanie informacji o wystąpieniu błędu (446)
  • 10.11. Prototypowanie funkcji (447)
  • 10.12. Obsługa wyjątków (451)
  • 10.13. Zapisywanie wartości globalnych (453)
  • 10.14. Redefinicja funkcji (456)
  • 10.15. Przechwytywanie wywołań niezdefiniowanych funkcji za pomocą AUTOLOAD (459)
  • 10.16. Zagnieżdżanie procedur (460)
  • 10.17. Tworzenie konstrukcji switch (461)
  • 10.18. Program do sortowania poczty (464)

Rozdział 11. Odwołania oraz rekordy (469)

  • 11.0. Wprowadzenie (469)
  • 11.1. Tworzenie odwołań do tablic zwykłych (476)
  • 11.2. Tworzenie tablic asocjacyjnych zawierających tablice zwykłe (479)
  • 11.3. Tworzenie odwołań do tablic asocjacyjnych (480)
  • 11.4. Tworzenie odwołań do funkcji (481)
  • 11.5. Tworzenie odwołań do skalarów (484)
  • 11.6. Tworzenie tablic zawierających odwołania do wartości skalarnych (485)
  • 11.7. Używanie domknięć zamiast obiektów (487)
  • 11.8. Tworzenie odwołań do metod (489)
  • 11.9. Tworzenie rekordów (490)
  • 11.10. Odczytywanie oraz zapisywanie rekordów z tablicy asocjacyjnej do plików tekstowych (492)
  • 11.11. Wyświetlanie struktur danych (494)
  • 11.12. Kopiowanie struktur danych (496)
  • 11.13. Zapisywanie struktur danych na dysku (498)
  • 11.14. Trwałe struktury danych (499)
  • 11.15. Kopiowanie cyklicznych struktur danych przy użyciu słabych odwołań (501)
  • 11.16. Program. Szkice (504)
  • 11.17. Program. Drzewa binarne (507)

Rozdział 12. Pakiety, biblioteki oraz moduły (511)

  • 12.0. Wprowadzenie (511)
  • 12.1. Definiowanie interfejsu modułu (517)
  • 12.2. Przechwytywanie błędów podczas stosowania require oraz use (520)
  • 12.3. Opóźnianie wykonania instrukcji use do czasu uruchomienia programu (522)
  • 12.4. Tworzenie zmiennych prywatnych w module (525)
  • 12.5. Tworzenie funkcji prywatnych w module (527)
  • 12.6. Określanie pakietu, z którego nastąpiło wywołanie (529)
  • 12.7. Automatyzacja czyszczenia modułu (531)
  • 12.8. Wykorzystywanie własnego katalogu z modułami (533)
  • 12.9. Przygotowywanie modułu do rozpowszechniania (536)
  • 12.10. Przyspieszanie wczytywania modułu przy użyciu SelfLoadera (539)
  • 12.11. Przyspieszanie wczytywania modułu przy użyciu Autoloadera (540)
  • 12.12. Ponowne definiowanie funkcji wbudowanych (541)
  • 12.13. Ponowne definiowanie funkcji wbudowanych we wszystkich pakietach (544)
  • 12.14. Informowanie o błędach oraz ostrzeżeniach w sposób podobny do funkcji wbudowanych (546)
  • 12.15. Personalizacja komunikatów z ostrzeżeniami (548)
  • 12.16. Niejawne odwołania do pakietów (552)
  • 12.17. Stosowanie programu h2ph w celu przetłumaczenia plików nagłówkowych w języku C (554)
  • 12.18. Używanie programu h2xs w celu tworzenia modułu korzystającego z kodu w języku C (557)
  • 12.19. Tworzenie rozszerzeń w języku C przy użyciu modułu Inline::C (560)
  • 12.20. Dokumentacja modułu przy użyciu programu Pod (562)
  • 12.21. Budowanie oraz instalacja modułu CPAN (564)
  • 12.22. Przykład. Szablon modułu (567)
  • 12.23. Program. Odczytywanie wersji oraz opisów zainstalowanych modułów (568)

Rozdział 13. Klasy, obiekty oraz wiązania (573)

  • 13.0. Wprowadzenie (573)
  • 13.1. Tworzenie obiektu (583)
  • 13.2. Usuwanie obiektu (585)
  • 13.3. Zarządzanie danymi egzemplarza (587)
  • 13.4. Zarządzanie danymi klasy (590)
  • 13.5. Stosowanie klas w charakterze struktur (592)
  • 13.6. Konstruktory klonujące (596)
  • 13.7. Konstruktory kopiujące (598)
  • 13.8. Pośrednie wywoływanie metod (599)
  • 13.9. Określanie przynależności podklasy (602)
  • 13.10. Tworzenie klasy używanej do dziedziczenia (604)
  • 13.11. Dostęp do metod przesłoniętych (606)
  • 13.12. Tworzenie metod atrybutów przy użyciu AUTOLOAD (608)
  • 13.13. Kopiowanie cyklicznych struktur danych przy użyciu obiektów (611)
  • 13.14. Przeciążanie operatorów (614)
  • 13.15. Tworzenie magicznych zmiennych przy użyciu dowiązań (619)

Rozdział 14. Dostęp do bazy danych (627)

  • 14.0. Wprowadzenie (627)
  • 14.1. Tworzenie oraz używanie pliku DBM (630)
  • 14.2. Usuwanie zawartości pliku DBM (632)
  • 14.3. Konwersja pomiędzy plikami DBM (633)
  • 14.4. Łączenie plików DBM (635)
  • 14.5. Sortowanie dużych plików DBM (636)
  • 14.6. Umieszczanie w pliku DBM złożonych danych (638)
  • 14.7. Dane trwałe (640)
  • 14.8. Zapisywanie wyników zapytania w pliku programu Excel lub pliku CSV (642)
  • 14.9. Wykonywanie polecenia SQL przy użyciu DBI (643)
  • 14.10. Zmiana znaczenia cudzysłowów (646)
  • 14.11. Obsługa błędów bazy danych (647)
  • 14.12. Wydajne powtarzanie zapytań (649)
  • 14.13. Tworzenie zapytań w sposób programistyczny (651)
  • 14.14. Odczytywanie liczby wierszy zwróconych przez zapytanie (653)
  • 14.15. Stosowanie transakcji (654)
  • 14.16. Wyświetlanie danych strona po stronie (656)
  • 14.17. Wykonywanie zapytań do pliku CSV przy użyciu instrukcji SQL (658)
  • 14.18. Wykorzystywanie poleceń SQL bez serwera bazy danych (659)
  • 14.19. Program. ggh - program wyświetlający zawartość pliku historii programu Netscape (661)

Rozdział 15. Interakcja z użytkownikiem (665)

  • 15.0. Wprowadzenie (665)
  • 15.1. Analiza argumentów programu (667)
  • 15.2. Sprawdzanie czy program został uruchomiony interaktywnie (670)
  • 15.3. Czyszczenie zawartości ekranu (672)
  • 15.4. Określanie rozmiaru terminala lub okna (673)
  • 15.5. Zmiana koloru tekstu (674)
  • 15.6. Odczytywanie z klawiatury pojedynczych znaków (676)
  • 15.7. Użycie sygnału dźwiękowego terminala (677)
  • 15.8. Stosowanie interfejsu POSIX termios (679)
  • 15.9. Sprawdzanie oczekujących danych wejściowych (681)
  • 15.10. Odczytywanie haseł (682)
  • 15.11. Edycja danych wejściowych (683)
  • 15.12. Zarządzanie wyglądem ekranu (684)
  • 15.13. Nadzorowanie innego programu przy użyciu modułu Expect (687)
  • 15.14. Tworzenie menu przy użyciu Tk (689)
  • 15.15. Tworzenie okien dialogowych przy użyciu Tk (692)
  • 15.16. Reagowanie na zdarzenia zmiany rozmiaru okna (695)
  • 15.17. Usuwanie okna powłoki systemu DOS przy użyciu Perl/Tk dla środowiska Windows (697)
  • 15.18. Tworzenie reprezentacji graficznej danych (698)
  • 15.19. Tworzenie miniatur obrazów (699)
  • 15.20. Dodawanie tekstu do obrazu (700)
  • 15.21. Program: mały program korzystający z modułu Term::Cap (701)
  • 15.22. Program: tkshufflepod (703)
  • 15.23. Program: graphbox (705)

Rozdział 16. Zarządzanie procesami i komunikacja między nimi (707)

  • 16.0. Wprowadzenie (707)
  • 16.1. Zbieranie danych wyjściowych z programu (711)
  • 16.2. Uruchamianie innego programu (713)
  • 16.3. Zastępowanie wykonywanego programu innym (716)
  • 16.4. Odczytywanie danych z innego programu oraz zapisywanie ich do innego programu (717)
  • 16.5. Filtrowanie danych wyjściowych bieżącego programu (720)
  • 16.6. Wstępne przetwarzanie danych wejściowych programu (722)
  • 16.7. Odczytywanie standardowego wyjścia diagnostycznego (STDERR) (724)
  • 16.8. Kontrolowanie wejścia oraz wyjścia danych innego programu (727)
  • 16.9. Kontrolowanie wejścia, wyjścia oraz błędów innego programu (729)
  • 16.10. Komunikacja pomiędzy powiązanymi procesami (731)
  • 16.11. Tworzenie procesu przypominającego plik przy użyciu nazwanych potoków (737)
  • 16.12. Współdzielenie zmiennych przez różne procesy (741)
  • 16.13. Wypisywanie dostępnych sygnałów (743)
  • 16.14. Wysyłanie sygnału (744)
  • 16.15. Instalowanie procedury obsługi sygnału (745)
  • 16.16. Tymczasowe przesłonięcie procedury obsługi sygnału (747)
  • 16.17. Tworzenie procedury obsługi sygnału (748)
  • 16.18. Przechwytywanie kombinacji Ctrl+C (751)
  • 16.19. Zapobieganie występowaniu procesów zombie (752)
  • 16.20. Blokowanie sygnałów (755)
  • 16.21. Obsługa przekroczenia czasu operacji (757)
  • 16.22. Przekształcanie sygnałów do postaci błędów krytycznych (759)
  • 16.23. Program sigrand (760)

Rozdział 17. Gniazda (765)

  • 17.0. Wprowadzenie (765)
  • 17.1. Pisanie klienta TCP (768)
  • 17.2. Pisanie serwera TCP (770)
  • 17.3. Komunikacja za pośrednictwem protokołu TCP (773)
  • 17.4. Tworzenie klienta UDP (777)
  • 17.5. Tworzenie serwera UDP (779)
  • 17.6. Korzystanie z gniazd w domenie uniksowej (781)
  • 17.7. Identyfikowanie rozmówcy po drugiej stronie gniazda (783)
  • 17.8. Ustalanie własnej nazwy i adresu (785)
  • 17.9. Zamykanie gniazda po rozwidleniu procesu (786)
  • 17.10. Pisanie dwukierunkowych klientów (788)
  • 17.11. Rozwidlanie serwerów (790)
  • 17.12. Rozwidlanie serwera z wyprzedzeniem (791)
  • 17.13. Nie rozwidlające się serwery (794)
  • 17.14. Serwer wielozadaniowy korzystający z wątkowości (798)
  • 17.15. Jak POE pomaga pisać serwer wielowątkowy (799)
  • 17.16. Pisanie serwera działającego pod kilkoma adresami IP (802)
  • 17.17. Przygotowywanie serwera działającego jako demon (803)
  • 17.18. Ponowne uruchamianie serwera na życzenie (806)
  • 17.19. Zarządzanie wieloma strumieniami nadchodzących danych na raz (808)
  • 17.20. Przykładowy program: backsniff (811)
  • 17.21. Przykładowy program: fwdport (812)

Rozdział 18. Usługi internetowe (817)

  • 18.0. Wprowadzenie (817)
  • 18.1. Podstawy przeglądania informacji przechowywanych na serwerach DNS (819)
  • 18.2. Klient FTP (823)
  • 18.3. Wysyłanie poczty (826)
  • 18.4. Odczytywanie i wysyłanie nowych wiadomości w sieci Usenet (830)
  • 18.5. Odczytywanie poczty za pośrednictwem serwera POP3 (832)
  • 18.6. Symulacja polecenia telnet wewnątrz programu (835)
  • 18.7. Sprawdzanie działania komputera za pomocą programu ping (838)
  • 18.8. Sięganie do serwera LDAP (840)
  • 18.9. Wysyłanie poczty z załącznikami (843)
  • 18.10. Wydobywanie załączników z poczty (847)
  • 18.11. Pisanie serwera XML-RPC (849)
  • 18.12. Pisanie klienta XML-RPC (851)
  • 18.13. Pisanie serwera SOAP (853)
  • 18.14. Pisanie klienta SOAP (854)
  • 18.15. Przykładowy program: rfrm (855)
  • 18.16. Przykładowy program: expn i vrfy (857)

Rozdział 19. Programowanie CGI (861)

  • 19.0. Wprowadzenie (861)
  • 19.1. Pisanie skryptu CGI (866)
  • 19.2. Przekierowywanie wiadomości o błędach (869)
  • 19.3. Naprawianie błędu 500 Server Error (871)
  • 19.4. Pisanie bezpiecznego programu CGI (875)
  • 19.5. Unikanie sekwencji sterujących powłoki podczas wykonywania poleceń (880)
  • 19.6. Formatowanie list i tabel za pomocą skrótów HTML (883)
  • 19.7. Kierowanie do innego adresu (885)
  • 19.8. Wykrywanie błędów w kodzie komunikacji HTTP (887)
  • 19.9. Zarządzanie cookies (889)
  • 19.10. Tworzenie kontrolek przechowujących wprowadzone wartości (892)
  • 19.11. Pisanie skryptu CGI obsługującego wiele stron WWW (893)
  • 19.12. Zapisywanie formularza w pliku lub potoku pocztowym (896)
  • 19.13. Przykładowy program: chemiserie (898)

Rozdział 20. Sieć WWW od strony klienta (903)

  • 20.0. Wprowadzenie (903)
  • 20.1. Pobieranie zasobu o określonym adresie URL za pomocą skryptu Perla (905)
  • 20.2. Automatyzacja zatwierdzania formularzy (907)
  • 20.3. Wydobywanie adresów URL (909)
  • 20.4. Konwertowanie tekstu ASCII na HTML (912)
  • 20.5. Konwertowanie dokumentu HTML na tekst ASCII (913)
  • 20.6. Wydobywanie lub usuwanie znaczników HTML (914)
  • 20.7. Odnajdywanie w dokumencie HTML łączy, które już nie działają (917)
  • 20.8. Odnajdywanie łączy do ostatnio aktualizowanych stron (918)
  • 20.9. Generowanie kodu HTML przy użyciu szablonów (920)
  • 20.10. Tworzenie zwierciadlanych kopii stron WWW (923)
  • 20.11. Tworzenie robota (924)
  • 20.12. Rozkładanie pliku dziennika serwera WWW na rekordy (925)
  • 20.13. Analizowanie dzienników serwera WWW (927)
  • 20.14. Korzystanie z cookies (930)
  • 20.15. Pobieranie stron chronionych hasłem (931)
  • 20.16. Pobieranie stron WWW w protokole https:// (932)
  • 20.17. Wznawianie żądania GET protokołu HTTP (932)
  • 20.18. Analiza kodu HTML (934)
  • 20.19. Wydobywanie danych z tabel HTML (937)
  • 20.20. Przykładowy program htmlsub (940)
  • 20.21. Przykładowy program: hrefsub (941)

Rozdział 21. mod_perl (943)

  • 21.0. Wprowadzenie (943)
  • 21.1. Uwierzytelnianie (949)
  • 21.2. Ustawianie Cookies (951)
  • 21.3. Sięganie do wartości cookie (952)
  • 21.4. Kierowanie przeglądarki pod inny adres (954)
  • 21.5. Badanie nagłówków (955)
  • 21.6. Sięganie do parametrów formularza (956)
  • 21.7. Odbieranie plików ładowanych na serwer (957)
  • 21.8. Przyśpieszanie dostępu do baz danych (959)
  • 21.9. Dostosowanie działania dzienników Apache do własnych potrzeb (960)
  • 21.10. Przezroczyste przechowywanie informacji w adresach URL (962)
  • 21.11. Komunikacja między mod_perl a PHP (964)
  • 21.12. Przerabianie kodu skryptów CGI na kod mod_perl (965)
  • 21.13. Wspólne korzystanie z informacji przez różne procedury obsługi (966)
  • 21.14. Ponowne ładowanie zmienionych modułów (968)
  • 21.15. Ocena wydajności aplikacji mod_perl (969)
  • 21.16. Korzystanie z szablonów z pomocą modułu HTML::Mason (970)
  • 21.17. Korzystanie z szablonów z pomocą zestawu Template Toolkit (976)

Rozdział 22. XML (983)

  • 22.0. Wprowadzenie (983)
  • 22.1. Przekształcanie dokumentów XML do postaci struktur danych (993)
  • 22.2. Analiza składniowa dokumentów XML przy użyciu reprezentacji drzewiastej DOM (995)
  • 22.3. Analiza składniowa dokumentów XML przy użyciu zdarzeń interfejsu SAX (998)
  • 22.4. Wprowadzanie prostych zmian do elementów lub ich zawartości (1002)
  • 22.5. Sprawdzanie poprawności dokumentu XML (1004)
  • 22.6. Odszukiwanie elementów oraz ich zawartości w dokumencie XML (1008)
  • 22.7. Przetwarzanie transformacji arkuszy stylów XML (1010)
  • 22.8. Analiza dokumentów o rozmiarze przekraczającym ilość dostępnej pamięci systemowej (1013)
  • 22.9. Odczytywanie oraz zapisywanie plików RSS (1015)
  • 22.10. Tworzenie dokumentu XML (1018)

Skorowidz (1021)

Dodaj do koszyka Perl. Receptury. Wydanie II

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.