Perl_Wprowadzenie_perlwp.pdf
(
430 KB
)
Pobierz
Perl. Wprowadzenie
Autorzy: Randal L. Schwartz, Tom Christiansen
Tłumaczenie: Michał Jęczalik, Marcin Jagodziński (wstęp)
ISBN: 83-7197-220-2
Format: B5, 256 stron
Zawiera CD-ROM
Data wydania: 07/2000
Cena książki: 36.00 zł
Przesyłka gratis!
Odbiorca pokrywa jedynie koszty pobrania (aktualnie 2,90 zł)
w przypadku przesyłki za zaliczeniem pocztowym
Jeżeli znasz tę książkę
oceń ją
Jeżeli chciałbyś zgłosić wpis do erraty
daj nam znać
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, Larryego 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.
Perl. Wprowadzenie – Spis treści
Aktualny cennik książek e-mailem
Książki i „3D” Online
Informacje o nowościach
Zamów najnowszy katalog
www.helion.com.pl
Tworzenie skryptów CGI
Jeżeli nie spędziłeś ostatnich lat samotnie na bezludnej wyspie, słyszałeś już zapewne o WWW.
Właściwie każdy spotkał się już z wszechobecnymi adresami WWW (URL-ami) umieszczonymi
na tablicach reklamowych, w gazetach, raportach rządowych i napisach wyświetlanych pod koniec
filmów.
Większość z bardziej rozbudowanych witryn zawiera tzw. formularze, do których wprowadza się
pewne dane i wysyła poprzez kliknięcie przycisku lub obrazka. Na serwerze zostaje wówczas uru-
chomiony program analizujący przesłane dane i tworzący nową stronę WWW. Czasem taki prog-
ram (najczęściej nazywany
skryptem CGI)
jest tylko interfejsem pośredniczącym pomiędzy bazą
danych a użytkownikiem – przystosowuje pozyskane dane do postaci zrozumiałej dla bazy oraz
przetwarza pobrane z niej informacje do postaci zrozumiałej dla przeglądarki (czyli najczęściej
tworzy kod HTML).
Skrypty CGI pozwalają na znacznie więcej niż tylko proste przetwarzanie przesłanych danych –
można je także wywoływać na przykład po kliknięciu obrazka i mogą zwracać dowolne dane akcepto-
wane przez przeglądarkę. Witryny internetowe wzbogacone o możliwość dynamicznego tworzenia
ich zawartości (co umożliwiają właśnie skrypty CGI) stają się ciekawsze i bardziej interaktywne.
Pomimo zalewu animacji i wszechobecnych reklam, strony WWW nadal zawierają dużą ilość teks-
tu. Perl potrafi przetwarzać tekst, dane binarne, pliki, a także komunikować się w sieci. Staje się
więc idealnym narzędziem do programowania w sieci WWW.
W niniejszym rozdziale nie tylko poznamy podstawy tworzenia skryptów CGI, ale także przy oka-
zji zapoznamy się z referencjami, modułami i programowaniem obiektowym. Pod koniec zostanie
zamieszczony mały pokaz możliwości Perla w zakresie innych zastosowań związanych z Internetem.
Rozdział ten (podobnie, jak jakikolwiek dokument zawierający mniej niż kilkaset stron) siłą rzeczy
nie zawiera dokładnego opisu wszystkich poruszanych tematów (np. programowania obiektowego
lub użycia referencji). Zaprezentowane tutaj przykłady mogą się jednak stać doskonałym wprowa-
dzeniem do tych (nieco bardziej już zaawansowanych) tematów. Osoby, które lubią dochodzić do
wszystkiego metodą prób i błędów, będą mogły tworzyć zaawansowane skrypty, bazując tylko na
przykładach zamieszczonych w tym rozdziale.
W rozdziale tym przyjęto założenie,
że
Czytelnik jest przynajmniej w stopniu podstawowym obez-
nany z językiem HTML.
184
Perl – Wprowadzenie
Moduł CGI.pm
Poczynając od wersji 5.004, standardowa dystrybucja Perla zawiera wszechstronny moduł CGI.pm,
napisany przez Lincolna Steinai, pozwalający tworzyć skrypty CGI w banalnie prosty sposób
.
Po-
dobnie jak sam Perl, CGI.pm jest niezależny od architektury i można go użyć we właściwie dowol-
nym systemie – od Uniksa po VMS, a nawet Windows i MacOS.
Jeśli w systemie znajduje się także podręcznik systemowy dla modułu CGI.pm, warto go przeczy-
tać – zawiera dużo wartościowych informacji. W innym wypadku można też przejrzeć sam plik
CGI.pm
– została w nim zawarta dokumentacja, zapisana w prostym formacie
pod.
Podczas tworzenia skryptów CGI, nieocenioną pomocą jest podręcznik systemowy do tego modułu
– zawiera on nie tylko opisy funkcji, ale również wiele wartościowych i ciekawych przykładów.
Środowisko
działania programu CGI
Rysunek
19.1
przedstawia związek pomiędzy przeglądarką WWW, serwerem i skryptem CGI. Po
kliknięciu odnośnika, użytkownik jest przenoszony w miejsce definiowane przez URL powiązany
z tym odnośnikiem. URL określa serwer i pewien określony zasób udostępniany przez ten serwer.
Przeglądarka komunikuje się więc z serwerem poprzez
żądania
pobrania konkretnych zasobów.
Jeśli zasobem tym jest na przykład strona zawierająca formularz HTML, serwer w odpowiedzi wy-
syła go przeglądarce.
Każde pole tekstowe w formularzu posiada swoją nazwę (zapisaną w jego kodzie) i wartość (czyli
to, co użytkownik w to pole wprowadzi). Formularz jest z kolei (poprzez parametr
action
znacz-
nika
<FORM>
) przypisany do określonego skryptu CGI, który przetwarza dane. Po wypełnieniu for-
mularza i kliknięciu przycisku „Wyślij”, przeglądarka wysyła dane do skryptu. Jest to realizowane
poprzez „skok” pod URL skryptu z dołączonym tzw.
łańcuchem
zapytania,
zawierającym jedną
lub kilka par
nazwa=wartosc
. Każda nazwa reprezentuje jedno z pól formularza, a wartość to
wpisane do niego dane. Zatem URL, pod który przeglądarka wysyła dane z formularza, wygląda
mniej więcej tak (sam
łańcuch
zapytania to wszystko po pytajniku)
1
:
http://www.COS.pl/cgi-bin/jakis_skrypt?smak=waniliowy&wielkosc=podwojne
W tym przykładzie występują dwie pary
nazwa=wartosc
, oddzielone znakiem
&
. Jest to szczegół,
którym nie należy się przejmować w przypadku używania modułu CGI.pm. Część adresu
/cgi-
bin/jakis_skrypt
wymaga jeszcze dalszego wyjaśnienia, lecz na tym etapie istotne jest tylko to,
że
jest to
ścieżka
do odpowiedniego skryptu CGI, przetwarzającego dane z formularza.
Kiedy serwer (czyli w tym wypadku
www.COS.pl)
odczyta przesłany przez przeglądarkę URL,
uruchamia skrypt CGI i przekazuje mu jako argumenty wszystkie pary
nazwa=wartosc
. Program
wykonuje swoje zadanie i (zazwyczaj) zwraca serwerowi kod HTML, który jest z powrotem odsy-
łany
do przeglądarki.
1
Opis ten odpowiada jednej z metod wysyłania danych z formularza: metodzie GET. W praktyce częściej
używana jest inna metoda – POST, w której dane nie są przekazywane poprzez URL. Dla programisty
używającego CGI.pm nie ma większego znaczenia, która metoda zostanie użyta – przyp. red.
Rozdział 19: Tworzenie skryptów CGI
185
Rysunek
19.1.
Współpraca formularza z CGI.
Konwersacja między przeglądarką a serwerem (a także między serwerem a skryptem) to tzw. pro-
tokół HTTP. Zazwyczaj nie interesuje to programisty, gdyż obsługą takich niskopoziomowych za-
dań zajmuje się moduł CGI.pm. Metodę wysyłania skryptowi jego argumentów (a także innych in-
formacji) określa specyfikacja
Common Interface Gateway
(CGI). I po raz kolejny – nie musisz
w nią wnikać – zadaniami takimi jak dostarczenie do skryptu wartości argumentów zajmuje się
moduł CGI.pm.
Należy także pamiętać,
że
skrypty CGI mogą współpracować z każdym dokumentem HTML, nie
tylko z formularzami. Można na przykład napisać następujący kod:
Kliknij <a href="http://www.COS.pl/cgi-bin/fortune.cgi">tutaj</a>, aby
zobaczyc swoja przepowiednie.
fortune.cgi
może być programem wywołującym po prostu dostępny na większości systemów unik-
sowych program
fortune.
W takim wypadku skryptowi CGI nie są dostarczane
żadne
argumenty.
Można też tak skonstruować dokument HTML, by dawał możliwość kliknięcia któregoś z dwóch
odnośników – jeden z nich wywołuje program
fortune,
a drugi wypisuje aktualną datę. Obydwa te
odnośniki mogą wskazywać na ten sam skrypt, jeśli pierwszy z nich posiada argument
fortune
,
a drugi – argument
data
:
<a href="http://www.COS.pl/cgi-bin/fortune_lub_data?fortune">
<a href="http://www.COS.pl/cgi-bin/fortune_lub_data?data">
Skrypt CGI (czyli w tym przypadku
fortune_lub_data)
sprawdza, który z dwóch możliwych argu-
mentów został przekazany i w zależności od tego, wykonuje albo program
fortune,
albo
date.
186
Perl – Wprowadzenie
Jak widać, argumenty nie muszą mieć postaci typowej, czyli
nazwa=data
. Skrypt CGI może wy-
konywać właściwie wszystko, co się programiście wymarzy, i otrzymywać dowolną liczbę argu-
mentów.
Najprostszy skrypt CGI
Oto
źródło
naszego pierwszego skryptu, który jest tak prosty,
że
nie wymaga nawet użycia modułu
CGI.pm
#!/usr/bin/perl -w
# hej – najprostszy skrypt CGI
print <<KONIEC_Dlugiego_Tekstu;
Content-Type: text/html
<HTML>
<HEAD>
<TITLE>Witaj, swiecie!</TITLE>
</HEAD>
<BODY>
<H1>Pozdrowienia, Uzytkowniku!</H1>
</BODY>
</HTML>
KONIEC_Dlugiego_Tekstu
Przy każdym uruchomieniu tego skryptu wyświetlany jest identyczny tekst. Nie jest to specjalnie
ciekawe, ale będziemy to jeszcze rozbudowywać.
Program ten zawiera tylko jedną instrukcję – wywołanie funkcji
print
. Jej nieco dziwny argument
nazywany jest
dokumentem tutaj.
Zaczyna się dwoma znakami mniejszości i słowem, które jest
tzw.
znacznikiem końca.
Dla programisty shellowego taka konstrukcja może przypominać przekie-
rowanie wejścia-wyjścia, ale to błędne wrażenie. W Perlu zapisuje się w ten sposób
łańcuch
zawie-
rający kilka wierszy. Zaczyna się on w następnym wierszu i ciągnie aż do wiersza zawierającego
łańcuch
końcowy (który musi być umieszczony na samym początku wiersza).
Dokumenty tutaj
są
bardzo przydatne podczas tworzenia kodu HTML.
Pierwsza część tego długiego
łańcucha
jest prawdopodobnie najważniejsza: wiersz
Content-
Type
określa typ tworzonych danych. Następnie musi być umieszczony kolejny wiersz, pusty, nie
zawierający
żadnych
spacji ani znaków tabulacji. Początkujący programiści często o nim zapomi-
nają, co jest dużym błędem, gdyż oddziela on nagłówek (analogicznie jak w przypadku nagłówka
e-maila) od opcjonalnej treści
2
. Po pustym wierszu wypisujemy kod HTML, który jest wysyłany do
przeglądarki, a następnie przez nią wyświetlany.
Najpierw należy się upewnić, czy skrypt działa poprawnie, kiedy zostanie uruchomiony z wiersza
poleceń. Jest to potrzebny (choć niewystarczający) krok, pozwalający upewnić się, czy został on
poprawnie napisany. Istnieje wiele rzeczy, które mogą zawieść; zostały one opisane w części „Pro-
blemy ze skryptami CGI”.
Po pomyślnym przejściu powyższego testu, skrypt musi zostać zainstalowany na serwerze. Aby do-
wiedzieć się, w którym katalogu i w jaki sposób można instalować skrypty, najlepiej zapytać admi-
nistratora systemu lub administratora danej witryny WWW – nie ma bowiem wypracowanych reguł.
2
Nagłówek jest wymagany przez protokół HTTP, o którym już wspominaliśmy – przyp. red.
Plik z chomika:
Ksiazki_20
Inne pliki z tego folderu:
100_sposobow_na_Perl_100per.pdf
(276 KB)
CGI_Perl_Ksiazka_kucharska_perl.pdf
(411 KB)
Algorytmy_w_Perlu_alperl.pdf
(475 KB)
Perl_6_Podstawy_per6po.pdf
(487 KB)
mod_perl_Podrecznik_programisty_modpkp.pdf
(350 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin