Použití knihoven Perlu
Knihovna je textový soubor obsahující jednu nebo několik připravených procedur. Tyto procedury je možno použít v Perl scriptu. Knihovny jsou uloženy v určeném adresáři, kde je interpret Perlu hledá. Adresář je definován jedním z prvků pole @INC. Pole @INC je předdefinovaná proměnná, která obsahuje seznam adresářů, které interpret Perlu prohledává.
Perl pokud je správně nainstalován obsahuje řadu procedur, další si může uživatel vytvořit.
Chceme-li volat některou z knihovních procedur ve svém scriptu musíme zdrojový text knihovny zahrnout do našeho scriptu příkazem require.
Příklad použití knihovny ctime.pl:
require "ctime.pl";
$datum = &ctime(time);
print "datum: $datum\n";
Příkaz require začlení do perlového scriptu sekvenci příkazů procedury uložené v odděleném souboru a tuto sekvenci provede. Jméno souboru se uvádí jako parametr příkazu.
Do jednoho scriptu je možné začlenit několik oddělených souborů, ale každý soubor lze začlenit pouze jednou. Pro každý soubor použijeme vlastní příkaz require.
Všechny standardní knihovny, které jsou součástí perlu končí řádkou
1;
Tj. vrací výsledkový kód 1 - hodnotu true. Můžete si vytvořit své vlastní knihovny a umístit je do standardně prohledávaného adresáře. Tyto nové knihovny by však měly vracet nenulový výsledkový kód. V případě, že se nenajde vkládaný soubor nebo vložený soubor vrací nulový výsledek končí příkaz require chybou.
Existuje a je ke stažení knihovna cgi-lib.pl, která je dnes de facto standardní knihovnou pro vytváření CGI scriptů v jazyce Perl. Po stažení souboru s cgi-lib.pl.txt jej stačí přejmenovat na cgi-lib.pl a uložit do adresáře s ostatními knihovnami. Další informace o knihovně najdete na http://cgi-lib.stanford.edu/cgi-lib/. Pomocí této knihovny je tvorba CGI scriptů jednodušší. Knihovna obsahuje procedury:
- ReadParse - procedura čte data poslaná metodou GET nebo POST, konvertuje je a ukládá do asociativního pole %in (klíč/hodnota). Vícenásobné možnosti odděluje znaky /0. Procedura vrací hodnotu >0 pokud v dotazu byla předána nějaká data, hodnotu <0 pokud v dotazu nepřišla žádná data.
- PrintHeader - tiskne hlavičku Content-type: text/html a prázdný řádek.
- HtmlTop - tiskne úvodní příkazy HTML dokumentu a hlavičku H1. Titul dokumentu a text hlavičky H1 se zadává jako parametr při volání procedury.
- HtmlBot - Tiskne koncové příkazy HTML dokumentu.
- SplitParam - Rozděluji parametr o více hodnotách do seznamu.
- MethGet - vrací true pokud je použitá metoda GET
- MethPost - vrací true pokud je použitá metoda POST
- MyBaseUrl - vrací základní URL pro script bez doplňkových informací a vstupního řetězce.
- MyFullUrl - vrací základní URL pro script s doplňkovými informacemi a vstupním řetězcem.
- CgiError - tiskne chybovou zprávu i s hlavičkou. První parametr je titul, další parametry jsou jednotlivé odstavce těla chybové zprávy.
- CgiDie - identické s CgiError, navíc vypíše číslo řádku s chybou
- PrintVariables - vrací formátované proměnné.
- PrintEnv - vrací formátované všechny proměnné prostředí.
Opis knihovny cgi-lib.pl je přiložen k textu.Knihovna je ke stažení na http://cgi-lib.stanford.edu/cgi-lib/2.14/cgi-lib.pl.txt
Příklad použití 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;
}
Další kapitola |
Předchozí kapitola |
Obsah