Pouziti knihoven Perlu
Knihovna je textovy soubor obsahujici jednu nebo nekolik pripravenych procedur. Tyto procedury je mozno pouzit v Perl scriptu. Knihovny jsou ulozeny v urcenem adresari, kde je interpret Perlu hleda. Adresar je definovan jednim z prvku pole @INC. Pole @INC je preddefinovana promenna, ktera obsahuje seznam adresaru, ktere interpret Perlu prohledava.
Perl pokud je spravne nainstalovan obsahuje radu procedur, dalsi si muze uzivatel vytvorit.
Chceme-li volat nekterou z knihovnich procedur ve svem scriptu musime zdrojovy text knihovny zahrnout do naseho scriptu prikazem require.
Priklad pouziti knihovny ctime.pl:
require "ctime.pl";
$datum = &ctime(time);
print "datum: $datum\n";
Prikaz require zacleni do perloveho scriptu sekvenci prikazu procedury ulozene v oddelenem souboru a tuto sekvenci provede. Jmeno souboru se uvadi jako parametr prikazu.
Do jednoho scriptu je mozne zaclenit nekolik oddelenych souboru, ale kazdy soubor lze zaclenit pouze jednou. Pro kazdy soubor pouzijeme vlastni prikaz require.
Vsechny standardni knihovny, ktere jsou soucasti perlu konci radkou
1;
Tj. vraci vysledkovy kod 1 - hodnotu true. Muzete si vytvorit sve vlastni knihovny a umistit je do standardne prohledavaneho adresare. Tyto nove knihovny by vsak mely vracet nenulovy vysledkovy kod. V pripade, ze se nenajde vkladany soubor nebo vlozeny soubor vraci nulovy vysledek konci prikaz require chybou.
Existuje a je ke stazeni knihovna cgi-lib.pl, ktera je dnes de facto standardni knihovnou pro vytvareni CGI scriptu v jazyce Perl. Po stazeni souboru s cgi-lib.pl.txt jej staci prejmenovat na cgi-lib.pl a ulozit do adresare s ostatnimi knihovnami. Dalsi informace o knihovne najdete na http://www.bio.cam.ac.uk/cgi-lib/. Pomoci teto knihovny je tvorba CGI scriptu jednodussi. Knihovna obsahuje procedury:
- ReadParse - procedura cte data poslana metodou GET nebo POST, konvertuje je a uklada do asociativniho pole %in (klic/hodnota). Vicenasobne moznosti oddeluje znaky /0. Procedura vraci hodnotu >0 pokud v dotazu byla predana nejaka data, hodnotu <0 pokud v dotazu neprisla zadna data.
- PrintHeader - tiskne hlavicku Content-type: text/html a prazdny radek.
- HtmlTop - tiskne uvodni prikazy HTML dokumentu a hlavicku H1. Titul dokumentu a text hlavicky H1 se zadava jako parametr pri volani procedury.
- HtmlBot - Tiskne koncove prikazy HTML dokumentu.
- SplitParam - Rozdeluji parametr o vice hodnotach do seznamu.
- MethGet - vraci true pokud je pouzita metoda GET
- MethPost - vraci true pokud je pouzita metoda POST
- MyBaseUrl - vraci zakladni URL pro script bez doplnkovych informaci a vstupniho retezce.
- MyFullUrl - vraci zakladni URL pro script s doplnkovymi informacemi a vstupnim retezcem.
- CgiError - tiskne chybovou zpravu i s hlavickou. Prvni parametr je titul, dalsi parametry jsou jednotlive odstavce tela chybove zpravy.
- CgiDie - identicke s CgiError, navic vypise cislo radku s chybou
- PrintVariables - vraci formatovane promenne.
- PrintEnv - vraci formatovane vsechny promenne prostredi.
Opis knihovny cgi-lib.pl je prilozen k textu.Knihovna je ke stazeni na http://www.bio.cam.ac.uk/cgi-lib/2.14/cgi-lib.pl.txt
Priklad pouziti knihovny cgi-lib.pl:
#!/usr/local/bin/perlrequire "cgi-lib.pl";
# nacteni promennych z formulare
&ReadParse(*input);
# tisk hlavicky
print &PrintHeader;
print &HtmlTop ("Vystup ze scriptu");
# text je ve formulari pole typu textarea
($text = $input{'text'}) =~ s/\n/\n
/g;
# nahradi znak konec radku prikazem
print < $text
ENDOFTEXT
# opis promennych
print "
Opis promennych, ktere jste zadal ...";
print &PrintVariables(*input);
# zaver html stranky
print &HtmlBot;
}
Dalsi kapitola |
Predchozi kapitola |
Obsah