full-version-perl-zaawansowane-programowanie-wydanie-ii_perlz2.pdf

(11696 KB) Pobierz
665247571 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Perl. Zaawansowane
programowanie. Wydanie II
SPIS TREŒCI
KATALOG KSI¥¯EK
Autor: Simon Cozens
T³umaczenie: S³awomir Dzieniszewski, Mateusz Michalski
ISBN: 83-246-0231-3
Format: B5, stron: 288
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
B¹dŸ na bie¿¹co z najnowszymi narzêdziami i technikami programowania
Wykorzystaj mo¿liwoœci szablonów
Po³¹cz skrypty Perla z programami napisanymi w innych jêzykach programowania
Przetestuj kod i popraw wydajnoϾ projektu
Perl, jeden z pierwszych jêzyków skryptowych s³u¿¹cych do dynamicznego
generowania zawartoœci witryn WWW, nie traci popularnoœci mimo doœæ sêdziwego
wieku. Ci¹gle wzrasta zainteresowanie tym jêzykiem, co pewien czas powstaj¹ kolejne
jego wersje. W sieci funkcjonuj¹ tysi¹ce witryn poœwiêconych programowaniu w Perlu,
jednak podczas pracy nad rozbudowan¹ aplikacj¹ nie zawsze znajdujemy czas na
poszukiwanie niezbêdnych informacji. Zgromadzenie w jednym tomie opisów technik
stosowanych przez doœwiadczonych programistów pozwoli³oby znacznie przyspieszyæ
pracê.
Ksi¹¿ka „Perl. Zaawansowane programowanie. Wydanie II” to kompendium wiedzy dla
wszystkich, którzy tworz¹ aplikacje w Perlu. Autor opisuje zmiany, jakie wprowadzono
w Perlu w ci¹gu ostatnich lat, koncentruj¹c siê na technikach rozwi¹zywania
konkretnych problemów, a nie na teoretycznych rozwa¿aniach. K³adzie du¿y nacisk na
mo¿liwoœci stosowania gotowych kodów z witryn Comprehensive Perl Archive Network,
w których zgromadzono setki przyk³adów wykorzystania Perla. Uczy efektywnej pracy
i zachêca do stosowania zaawansowanych narzêdzi i technik programistycznych.
Techniki przetwarzania danych tekstowych
Stosowanie szablonów
Pobieranie wiadomoœci RSS
Obs³uga baz danych
Korzystanie z kodowania Unicode
Programowanie sterowane zdarzeniami
Testowanie kodu i usuwanie b³êdów
£¹czenie kodu Perla z kodem C za pomoc¹ modu³u Inline
Odkryj magiê Perla
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒ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
665247571.003.png 665247571.004.png 665247571.005.png 665247571.006.png
Spis treści
Przedmowa .................................................................................................................... 7
1. Technikizaawansowane .............................................................................................. 11
Introspekcja
12
Modyfikacja modelu klas
29
Nieoczekiwany kod
34
Podsumowanie
50
2. Technikiparsowania .....................................................................................................51
Gramatyki Parse::RecDescent
52
Parse::Yapp
74
Inne techniki parsowania
78
Podsumowanie
82
3. Szablony ....................................................................................................................... 83
Formaty i Text::Autoformat
84
Text::Template
88
HTML::Template
93
HTML::Mason
98
Template Toolkit
109
AxKit
115
Podsumowanie
117
4. Obiekty, bazy danych i aplikacje ................................................................................ 119
Coś więcej niż zwykłe pliki…
119
Serializacja obiektów
120
Bazy danych obiektów
130
3
665247571.001.png
Obsługa baz danych
134
Zastosowania praktyczne w aplikacjach sieciowych
141
Posumowanie
147
5. Narzędzia językowe................................................................................................... 149
Perl i praca z tekstem
149
Obróbka tekstów angielskich
150
Moduły do parsowania tekstów angielskich
153
Klasyfikacja i pozyskiwanie informacji
158
Podsumowanie
168
6. PerliUnicode...............................................................................................................169
Terminologia
169
Co to takiego Unicode?
171
Formaty UTF
173
Obsługa danych UTF-8
176
Moduł Encode
181
Unicode dla programistów XS
187
Podsumowanie
191
7. POE...............................................................................................................................193
Programowanie w środowisku sterowanym zdarzeniami
193
Elementy najwyższego poziomu — komponenty
204
Podsumowanie
211
8. Testowanie ..................................................................................................................213
Test::Simple
213
Test::More
215
Test::Harness
218
Test::Builder
219
Test::Builder::Tester
221
Łączenie testów z kodem
223
Testowanie jednostek kodu
224
Podsumowanie
230
9. Rozszerzaniemożliwości Perla za pomocą modułu Inline ...................................... 233
Prosty moduł Inline::C
233
Programowanie bardziej złożonych zadań z pomocą Inline::C
236
Inline::Inne moduły
249
Podsumowanie
254
4 | Spis treści
10. ZabawyzPerlem ........................................................................................................ 255
Nieczytelność
255
Just another Perl hacker
260
Golf Perla
262
Poezja Perla
264
Acme::*
265
Podsumowanie
269
Skorowidz.................................................................................................................... 271
Spis treści | 5
ROZDZIAŁ 3.
Szablony
Na grupie comp.lang.perl pojawił się niedawno wątek, w którym dyskutujący próbowali
ustalić rytualną drogę każdego programisty Perla — indywidualne wyważanie szeroko otwar-
tych drzwi. Na liście pokonywanych zadań znalazł się system obsługi szablonów, warstwa
abstrakcji bazy danych, parser HTML, procesor argumentów wiersza poleceń oraz moduł ob-
sługi dat i czasu.
Ciekawe, czy poniższa historia nie wyda Ci się znajoma. Musisz przygotować pewien formu-
larz listu. Część tekstu jest stała i niezmienna, niektóre wyrażenia się zmieniają. Tworzysz więc
taki mniej więcej szablon:
my $template = q{
Szanowny Panie(Pani) $name,
Otrzymali ś my pa ń stwa zamówienie dotycz ą ce $product. Z naszych ustale ń wynika,
ż e b ę dziemy w stanie dostarczy ć go do pa ń stwa w dniu $date za cen ę oko ł o $cost.
Dzi ę kujemy za zainteresowanie nasz ą ofert ą ,
Acme Integrated Foocorp.
};
a następnie zmagasz się z koszmarnymi wyrażeniami regularnymi przy każdej linii, na przy-
kład s/(\$\w+)/$1/eeg , osiągając w końcu coś, co lepiej lub gorzej działa jak powinno.
Jak to zwykle bywa z każdym projektem, dwa dni od wprowadzenia programu do użytku
zmienia się specyfikacja danych i nagle Twój prosty wzorzec musi uwzględniać zastosowanie
pętli dla elementów tablic, wyrażenia warunkowe czy wreszcie wykonywanie kodu Perla
w samym środku wzorca. I nawet nie spostrzegasz, jak to się stało, że utworzyłeś własny ję-
zyk obsługi wzorców.
Jeżeli rozpoznałeś w tym siebie, nie przejmuj się. To samo przydarza się niemal wszystkim
przynajmniej raz. I właśnie dlatego w CPAN znaleźć można tak wiele modułów obsługują-
cych szablony plików tekstowych i HTML, wśród których występują tak koncepcje niewiele
bardziej złożone od s/(\$\w+)/$1/eeg , jak i niezależne języki programowania wzorców.
Zanim przejdziemy do omawiania tych modułów, przyjrzymy się rozwiązaniu wbudowane-
mu w Perla — formatom.
83
665247571.002.png
Zgłoś jeśli naruszono regulamin