Perl_perlcr.pdf

(407 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
Perl
Autor: Reuven M. Lerner
T³umaczenie: M. Michalski, S. Dzieniszewski
ISBN: 83-7361-169-X
Tytu³ orygina³u:
Core Perl
Format: B5, stron: 45
Przyk³ady na ftp: 61 kB
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Ten kompletny przewodnik po Perlu szybko i wygodnie dostarcza do wiadczonym
programistom odpowiednich technik i ilustruj¹cych je praktycznych przyk³adów kodu.
Lektura tej ksi¹¿ki pozwoli Ci najpierw rozwin¹æ swoje dotychczasowe umiejêtno ci,
a nastêpnie zg³êbiæ tajniki podstawowych technik programowania w Perlu. Ksi¹¿ka
rozpoczyna siê opisem podstawowej sk³adni jêzyka, przechodzi pó niej do obiektów,
struktur danych i zasad przetwarzania tekstu. Nastêpnie wyja nia, jak korzystaæ
z dostarczonych przez Perl narzêdzi umo¿liwiaj¹cych pracê z plikami, dzia³anie
programów w sieci czy wspó³pracê z relacyjnymi bazami danych. Na koniec pokazuje,
jak wykorzystaæ pe³niê mo¿liwo ci Perla podczas tworzenia aplikacji WWW — zarówno
prostych skryptów CGI, jak i w pe³ni zaawansowanych narzêdzi obs³uguj¹cych
witryny WWW.
Opisano miêdzy innymi:
• Typy danych i podstawowe funkcje Perla
• Zasady pisania i korzystania z modu³ów Perla
• Sposoby korzystania z plików tekstowych i plików DBM
• Interfejs DBI pozwalaj¹cy na korzystanie z baz danych i integrowanie baz danych
ze stronami WWW
• Programy CGI, modu³y mod_perl dla serwera Apache, cookie protoko³u HTTP
oraz szablony HTML/Perla
• Mason: oparty na Perlu system tworzenia zaawansowanych witryn WWW
• Wykrywanie i usuwanie b³êdów, optymalizacja kodu oraz sprawy zwi¹zane
z bezpieczeñstwem
Od wielu ju¿ lat programi ci na ca³ym wiecie doceniaj¹ Perla za jego prostotê, wygodê
i uniwersaln¹ zdolno æ do rozwi¹zywania szerokiego zakresu problemów; pocz¹wszy
od przetwarzania tekstu i administrowania systemem operacyjnym po komunikacjê
z bazami danych i tworzenie stron WWW. Ksi¹¿ka „Perl” dostarcza programistom
wiedzy niezbêdnej do tworzenia wszechstronnych, przejrzystych i bardzo wydajnych
programów — niezale¿nie jakie bêd¹ zadania tworzonych przez niego aplikacji.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Przedmowa .................................................................................................................................................. 9
Rozdział 1. Czym jest Perl? ........................................................................................................................15
1.1. Czym jest Perl?...................................................................................................... 15
1.2. Do czego Perl się nie nadaje? ................................................................................. 17
1.3. Licencje ................................................................................................................ 17
1.4. Wersje i standardy Perla......................................................................................... 18
1.5. Wsparcie techniczne .............................................................................................. 18
1.6. Pobieranie i instalacja Perla.................................................................................... 19
1.7. Pobieranie modułów z CPAN ................................................................................... 22
1.8. Podsumowanie ...................................................................................................... 25
Rozdział 2. Pierwsze kroki ....................................................................................................................... 27
2.1. Najprostsze programy............................................................................................. 28
2.2. Kompilator czy interpreter? ..................................................................................... 29
2.3. Wyrażenia i bloki.................................................................................................... 30
2.4. Zmienne................................................................................................................ 31
2.5. Skalary ................................................................................................................. 32
2.6. Listy i tablice ......................................................................................................... 41
2.7. Tablice asocjacyjne ................................................................................................ 48
2.8. Odwołania ............................................................................................................. 52
2.9. Zmienne leksykalne i globalne ................................................................................ 58
2.10. Podsumowanie .................................................................................................... 60
Rozdział 3. Kroki następne.........................................................................................................................61
3.1. Podstawowe funkcje wyjścia ................................................................................... 62
3.2. Czas ..................................................................................................................... 64
3.3. Podstawowe funkcje wejścia ................................................................................... 65
3.4. Operacje warunkowe .............................................................................................. 66
3.5. Operatory porównania ............................................................................................ 70
3.6. Operatory logiczne ................................................................................................. 72
3.7. Kolejność wykonywania operacji .............................................................................. 73
3.8. Pętle..................................................................................................................... 74
6
Perl
3.9. Sortowanie ............................................................................................................ 79
3.10. Pliki .................................................................................................................... 81
3.11. Zmienne wewnętrzne............................................................................................ 85
3.12. Funkcje przekształcające dane .............................................................................. 87
3.13. Uruchamianie programów zewnętrznych ................................................................. 92
3.14. Funkcja fork......................................................................................................... 95
3.15. Funkcja eval ........................................................................................................ 97
3.16. Podsumowanie .................................................................................................... 99
Rozdział 4. Procedury ...............................................................................................................................101
4.1. Informacje podstawowe ........................................................................................ 102
4.2. Wartości zwracane ............................................................................................... 102
4.3. Zmienne w procedurach ....................................................................................... 108
4.4. Argumenty procedur ............................................................................................. 112
4.5. Odwołania do procedur......................................................................................... 114
4.6. Bloki BEGIN i END................................................................................................ 116
4.7. Sygnały ............................................................................................................... 119
4.8. Podsumowanie .................................................................................................... 121
Rozdział 5. Wzorce tekstowe ..................................................................................................................123
5.1. Czym są wzorce tekstowe? ................................................................................... 124
5.2. Metaznaki ........................................................................................................... 126
5.3. Wyszukiwanie zakotwiczone .................................................................................. 129
5.4. Klasy znaków....................................................................................................... 130
5.5. Predefiniowane klasy znaków ................................................................................ 131
5.6. Nawiasy .............................................................................................................. 133
5.7. Pobieranie części łańcucha................................................................................... 133
5.8. Podstawianie....................................................................................................... 136
5.9. Zachłanność........................................................................................................ 137
5.10. Opcje dopasowywania i podstawiania .................................................................. 137
5.11. Funkcja study .................................................................................................... 141
5.12. Obiekty wzorców ................................................................................................ 141
5.13. Operator tr/// ................................................................................................... 142
5.14. Zastępowanie tekstów w wielu plikach................................................................. 144
5.15. Funkcja grep...................................................................................................... 144
5.16. Podsumowanie .................................................................................................. 145
Rozdział 6. Moduły ....................................................................................................................................147
6.1. Pakiety................................................................................................................ 147
6.2. Moduły................................................................................................................ 152
6.3. Eksportowanie symboli......................................................................................... 155
6.4. Kilka przykładowych modułów ............................................................................... 157
6.5. Dokumentowanie modułów przy użyciu formatu POD ............................................... 161
6.6. Podsumowanie .................................................................................................... 164
Rozdział 7. Obiekty....................................................................................................................................165
7.1. Obiekty ............................................................................................................... 166
7.2. Metody ............................................................................................................... 167
7.3. Dziedziczenie....................................................................................................... 170
7.4. Tworzenie obiektów i praca z nimi ......................................................................... 174
7.5. Podsumowanie .................................................................................................... 182
Spis treści
7
Rozdział 8. Wiązanie .................................................................................................................................183
8.1. Wiązanie ............................................................................................................. 184
8.2. Wiązanie skalarów ............................................................................................... 185
8.3. Wiązanie tablic asocjacyjnych ............................................................................... 189
8.4. Wiązanie tablic .................................................................................................... 198
8.5. Podsumowanie .................................................................................................... 201
Rozdział 9. Praca z plikami .....................................................................................................................203
9.1. Podstawy pracy z plikami ...................................................................................... 204
9.2. Sięganie do dowolnego miejsca w pliku ................................................................. 206
9.3. Uchwyty plików .................................................................................................... 208
9.4. Korzystanie ze znaków globalnych ......................................................................... 214
9.5. Identyfikatory rzeczywiste i identyfikatory efektywne ................................................ 215
9.6. Uprawnienia plikowe ............................................................................................ 217
9.7. Programy suid i sgid............................................................................................. 219
9.8. Testowanie plików za pomocą operatorów unarnych................................................ 220
9.9. Funkcja stat ........................................................................................................ 224
9.10. Blokowanie plików ............................................................................................. 225
9.11. Katalogi ............................................................................................................ 227
9.12. Zmienianie nazw oraz usuwanie plików i katalogów............................................... 230
9.13. Powiązania ........................................................................................................ 232
9.14. Podsumowanie .................................................................................................. 233
Rozdział 10. Programy sieciowe i komunikacja między procesami....................................................235
10.1. Potoki ............................................................................................................... 236
10.2. Komunikacja poprzez sieć................................................................................... 243
10.3. Współpraca z protokołami internetowymi ............................................................. 250
10.4. Podsumowanie .................................................................................................. 261
Rozdział 11. Relacyjne bazy danych ........................................................................................................263
11.1. Czym właściwie jest relacyjna baza danych?......................................................... 264
11.2. Wprowadzenie do języka SQL .............................................................................. 265
11.3. Zapytanie SELECT.............................................................................................. 269
11.4. Złączenia .......................................................................................................... 274
11.5. Aktualizowanie i usuwanie rekordów .................................................................... 274
11.6. Indeksy ............................................................................................................. 275
11.7. Perl i bazy danych .............................................................................................. 275
11.8. Proste programy korzystające z DBI ..................................................................... 279
11.9. Podsumowanie .................................................................................................. 282
Rozdział 12. Tworzenie aplikacji dla baz danych...................................................................................283
12.1. Projektowanie bazy danych ................................................................................. 283
12.2. Pisanie aplikacji................................................................................................. 290
12.3. Usuwanie błędów w programach korzystających z DBI ........................................... 303
12.4. Podsumowanie .................................................................................................. 306
Rozdział 13. Naprawianie programów i zagadnienia bezpieczeństwa................................................307
13.1. Identyfikowanie problemów ................................................................................. 308
13.2. Gdy pojawi się problem ...................................................................................... 312
13.3. Tryb analizy zagrożeń.......................................................................................... 314
8
Perl
13.4. Wykrywanie i usuwanie błędów w kodzie .............................................................. 316
13.5. Szacowanie wydajności kodu .............................................................................. 323
13.6. Podsumowanie .................................................................................................. 326
Rozdział 14. Pisanie programów CGI ......................................................................................................327
14.1. Dynamiczne strony WWW.................................................................................... 327
14.2. Interfejs CGI ...................................................................................................... 332
14.3. Komunikaty o błędach i wykrywanie błędów w kodzie programów CGI ..................... 336
14.4. Przekierowanie do innej strony ............................................................................ 338
14.5. Inne metody modułu CGI .................................................................................... 341
14.6. Podsumowanie .................................................................................................. 342
Rozdział 15. Bardziej zło one programy CGI .........................................................................................343
15.1. Rejestracja użytkowników ................................................................................... 344
15.2. Cookies ............................................................................................................ 349
15.3. Tworzenie grafiki ................................................................................................ 354
15.4. Szablony ........................................................................................................... 358
15.5. Podsumowanie .................................................................................................. 361
Rozdział 16. Aplikacje WWW korzystające z baz danych .....................................................................363
16.1. Aktualizowanie kursów akcji................................................................................ 364
16.2. Kartki pocztowe ................................................................................................. 373
16.3. Personalizacja stron WWW z pomocą bazy danych ................................................ 378
16.4. Podsumowanie .................................................................................................. 388
Rozdział 17. mod_perl..............................................................................................................................389
17.1. Instalowanie i konfiguracja mod_perl ................................................................... 390
17.2. Dyrektywy konfiguracyjne .................................................................................... 392
17.3. Trzy proste moduły obsługujące........................................................................... 393
17.4. Moduł Apache::Registry ...................................................................................... 399
17.5. Przydatne moduły............................................................................................... 400
17.6. Podsumowanie .................................................................................................. 406
Rozdział 18. Mason...................................................................................................................................409
18.1. Pakiet Mason .................................................................................................... 409
18.2. Komponenty autohandler i dhandler .................................................................... 417
18.3. Komponent autohandler ..................................................................................... 417
18.4. Zarządzanie sesją użytkownika............................................................................ 419
18.5. Podsumowanie .................................................................................................. 426
Dodatek A Bibliografia .............................................................................................................................427
A.1. Książki poświęcone Perlowi .................................................................................. 427
A.2. Periodyki ............................................................................................................. 429
A.3. Książki o sieci WWW ............................................................................................ 429
A.4. Książki o bazach danych....................................................................................... 430
A.5. Użyteczne witryny WWW ........................................................................................ 431
Skorowidz ................................................................................................................................................433
Zgłoś jeśli naruszono regulamin