perl. Ćwiczenia. helion.pdf

(5118 KB) Pobierz
888176831.008.png
4
Perl. wiczenia
Rozdział 8. Obsługa plików....................................................................................................................................... 85
Sprawdzanie i zmiana atrybutów ...............................................................................................85
Odczyt i zapis.............................................................................................................................91
Ograniczanie dostpu.................................................................................................................96
Pliki binarne ...............................................................................................................................98
Rozdział 9. WWW...........................................................................................................................................................101
Moduł CGI ...............................................................................................................................102
Rozdział 10. Poczta elektroniczna..........................................................................................................................113
Rozdział 11. Inne usługi sieciowe..........................................................................................................................121
Rozdział 12. Bazy danych.............................................................................................................................................127
Rozdział 7.
Wyraenia regularne
Jzyk Perl jest dobrze przystosowany do przetwarzania tekstów. Jego główn zalet wic
si z tym zagadnieniem s wyraenia regularne. Ich istot jest tworzenie wzorców opartych
o róne symbole. Taki wzorzec jest dopasowywany do testowanego tekstu i w ten sposób
mona sprawdza", czy dany tekst zawiera okre$lone litery, znaki, grupy liter, słowa. Opie-
rajc si na wykonanym dopasowaniu (lub jego braku) mona dodatkowo podmieni" pa-
sujc fraz na inn.
Sprawdzanie
wiczenie 7.1.
Sprawd, czy w zmiennej region znajduje si słowo karp .
Rozwizanie
Warto$" zmiennej ustawiamy na . W tym słowie znajduje si fraza
, wic efekt sprawdzenia bdzie pozytywny i na ekranie powinni$my zobaczy" napis
wygenerowany przez funkcj .
Do obsługi wyrae, regularnych uywamy operatora składajcego si ze znaku równo$ci
i tyldy ( ). W niektórych edytorach mog wystpi" problemy z wpisaniem znaku tyldy
( ), gdy po naci$niciu odpowiedniego klawisza nie pojawia si on na ekranie. Naley
wówczas oprócz wła$ciwego klawisza uy" spacji.
888176831.009.png
70
Perl. wiczenia
Po operatorze wyraenia regularnego piszemy samo wyraenie ujte w uko$niki ( ). Wpisa-
nie cigu liter (tak jak w tym przypadku) spowoduje sprawdzenie, czy w danej zmiennej
zawierajcej cig znaków ( ) wystpuje zadany podcig ( ).
wiczenie 7.2.
Zbadaj, czy w zmiennej region nie ma słowa karp .
Rozwizanie
!
!
!
W tym przypadku przedstawiono trzy alternatywne rozwizania. S one równowane.
W pierwszym wierszu widzimy, e zastosowano operator . Sprawdzamy zatem, czy
gdziekolwiek w zmiennej nie ma układu liter . Ten sam efekt uzyskamy sto-
sujc wykrzyknik przed warunkiem (warunek drugi) oraz dziki uyciu warunku nega-
tywnego (je$li nie).
wiczenie 7.3.
Przeled, czy słowo karp znajduje si w zmiennej domylnej .
Rozwizanie
"
Zmienna domy$lna to taka, której nazwa składa si jedynie z podkre$lenia ( ). Je$li w takiej
zmiennej umie$cimy nasz tekst do sprawdzenia ( ), nie trzeba stosowa" ope-
ratora wyraenia regularnego ( ), wystarczy jedynie samo wyraenie w uko$nikach.
wiczenie 7.4.
Przeanalizuj, czy odpowied zawarta w zmiennej odp jest twierdzca .
888176831.010.png 888176831.011.png 888176831.001.png 888176831.002.png 888176831.003.png 888176831.004.png
 
Rozdział 7. Wyraenia regularne
71
Rozwizanie
#$
Sprawdzamy tutaj za pomoc wyraenia regularnego, czy odpowied0 zawiera słowo . Nie
moemy mie" jednak pewno$ci, czy odpowiedzi (warto$" zmiennej ) nie była na
przykład lub . Powinni$my zatem zastosowa" jeden z poniszych wierszy.
%
#$
&
#$
W pierwszym wierszu widzimy porównanie ( ) warto$ci zmiennej i cigu znaków ,
natomiast w drugim warunku mamy do czynienia z adekwatnym wyraeniem regularnym.
Zastosowanie daszka ( ) i dolara ( ) oznacza w tym przypadku odpowiednio pocztek
i koniec cigu znaków. Innymi słowy, chcemy by słowo tak było dokładnie tym, co znajduje
si w zmiennej . Wła$nie po to stosujemy znaki daszka i dolara.
Istnieje jednak nadal moliwo$", e odpowied0 była twierdzca, a my tego nie stwierdzimy.
Stanie si tak, gdy zmienna bdzie miała przykładowo warto$" lub . Zaradzimy
takiemu zjawisku uywajc innej konstrukcji.
&
#$
Róni si ona od poprzedniej liter , wystpujc po drugim uko$niku wyraenia re-
gularnego. Dziki temu przy porównywaniu due i małe litery traktowane s tak samo,
czyli słowa i s równowane.
wiczenie 7.5.
Sprawd, czy w zmiennej adres wystpuje cyfra 2 .
Rozwizanie
!'()*+,-
)
(
Warto$ci liczbowe w jzyku Perl traktowane s tak samo jak znaki, dlatego w wyraeniach
regularnych moemy uywa" równie cyfr, w taki sam sposób jak liter.
888176831.005.png 888176831.006.png 888176831.007.png
 
Zgłoś jeśli naruszono regulamin