PNWS Volejte +420 602 860 704  
Vφtejte | Mailing list  
Co to je PNWS?
Jak spravovat server?

Konfigurace TCP/IP
Nastavenφ serveru
Soubor HTTP.AUT
Instalace PERLU 5.0
Instalace PHP for Win32
Jak vytvß°et strßnky
StruΦn² ·vod do HTML
Jak na CGI aplikace v PERLu
Co to je PERL?
Prvnφ program
Vstup a v²stup CGI skriptu
Jak zpracovat zasφlanß data
Vlastnφ funkce
Knihovny v PERLu
Funkce PERLu
Jak na ISAPI skripty v Delphi
Omezenφ ISAPI v PNWS
┌vod do PHP
Jak pou╛φvat SSI
Co to je PNWS-SSL
Jak sehnat platn² certifikßt
Jak si vyrobit testovacφ certifikßt
Knihovna SSLeay, licence
U₧iteΦnΘ nßstroje
Bug report

Oznßmenφ o chyb∞
Download center
Mailing list
Licence PNWS
 

Prvnφ program v jazyce PERL

Dßme se hned do psanφ prvnφho programu. Jako prvnφ program zvolφme obligßtnφ Ahoj sv∞te. Proto₧e se pohybujeme v rßmci internetu a tak mß b²t i tento "pr∙vodce" pojat, p°edpoklßdßme, ₧e nßÜ skript je volßn z internetovΘho prohlφ₧eΦe.

    #!/usr/bin/perl
    #
    # Vypis textu
    ###############
    
    print "Content-type: text/plain\n\n";
    print "Ahoj sv∞te, vφtß t∞ m∙j prvnφ CGI skript...\n";

áááPrvnφ p°φkaz PRINT vypisuje typ dat pro prohlφ₧eΦ. Symbol \n je od°ßdkovßnφ. Jak vidφte, pou₧il jsem dvojitΘ uvozovky. Perl vÜak dovoluje pou₧itφ i apostorof∙ platφ tedy, ₧e " = '. P°i v²pisu text∙, jsme omezeni tφm, ₧e nelze vypsat n∞jakΘ znaky p°φmo. Nap°φklad @ musφme napsat jako \@. To sanΘ platφ o $, " a \. P°ed tyto znaky je tedy nutno psßt \.

áááPokud budeme chtφt vypsat delÜφ text, nap°φklad hlaviΦku HTML dokumentu, pou₧ijeme v²pis pomocφ bloku. Tento v²pis se provßdφ nßsledovn∞:

    print <<KONEC;
    <HTML><HEAD><TITLE>Titulek</TITLE></HEAD>
    <BODY>
    Tady je text dokumentu.
    </BODY></HTML>
    KONEC

Po p°φkazu PRINT pou₧ijeme znaky << a jmΘno konce bloku. Jako za ka₧d²m p°φkazem nßsleduje st°ednφk. Nßsledujφcφ text je pak brßn jakou parametr p°φkazu PRINT, dokud interpretr nenarazφ na definovan² konec. PotΘ nßsledujφ ji₧ stadartnφ p°φkazy perlu. Tφmto si uÜet°φme mnoho prßce p°i op∞tovnΘm psanφ PRINT p°ed ka₧dou °φdkou.


Prom∞nnΘ

Ka₧d² program obsahuje takΘ prom∞nnΘ. Perl s nimi pracuje velice obratn∞. Nemusφ se urΦovat typ, ani velikost prom∞nnΘ. Neexistujφcφ prom∞nnß nehlßsφ chybu, pokud se na ni n∞kdo odkazuje. To se vÜak stßvß zdrojem t∞₧ko odhaliteln²ch chyb.

áááDefinice prom∞nn²ch se provßdφ tφm, ₧e do nφ prost∞ p°i°adφme. Jako jejich identifikace se pou₧φvß znak $ jako p°edpona nßzvu.

    $jmeno="Tomas";
    $vek=18;
    print "Jmenuji se $jmeno a je mi $vek let.";

Jako v²stup tohoto programu dostaneme text "Jmenuji se Tomas a je mi 18 let.". Z tohoto p°φkladu tedy vypl²vß, ₧e perl je velice pohodln² jazyk pro prßci s prom∞n²mi.


Porovnßvßnφ

Jak jsem ji₧ °ekl, perl se nejvφce podobß jazyku C a proto nenφ divu, ₧e formßt logick²ch podmφnek je nßsledujφcφ:

Akce pro Φφsla pro text
rovnost = = eq
nerovnost != ne
Vracφ -1, 0, 1, podle
toho, kterΘ znamΘnko
platφ
<=> cmp
vetÜφ ne₧ > lt
menÜφ ne₧ < gt
vetÜφ nebo rovno >= le
menÜφ nebo rovno <= ge

Zßpis jednoduchΘ promφnky IF m∙₧e tedy vypadat nßsledovn∞:

    $a=10;
    $b=20;
    if ($a>$b) {print "a je > nez B\n";}
    áááelse {print "neplati to";}

Podmφnka IF mß nßsledujφcφ syntaxi zßpisu:

    if (podminka) {prikaz;}
    elseif (podminka) {prikaz;}
    else {prikaz;}

kde druhß a t°etφ °ßdka nenφ povinnß. P°φkaz∙ ELSEIN m∙₧e nßsledovat mnoho, zatφmco ELSE je jen jeden nakoci.

áááPro vytvß°enφ slo₧itejÜφch podmφnek je mo₧nost vyu₧φt jejich sluΦovßnφ pomocφ operand∙ AND, OR Φi XOR. V perlu se dajφ vyu₧φt oba nφ₧e uvßd∞nΘ zp∙soby zßpisu.

Perl
styl
C
styl
V²znam
& && AND
| || OR
^ XOR

áááPro pohodln∞jÜφ manipulaci s °etezci (texty), obsahuje perl jeÜt∞ hledßnφ pod°et∞zce v textu. To se provßdφ zßpisem:

    $text="Tady tedy budu hledat nejake slovo.";
    if ($text=~/hleda/gimosx) {prikaz;}

Kde text uzav°en² v // je hledßn a GIMOSX jsou volitelnΘ parametry:

g Hledej globßln∞, tedy vÜude
i Nehle∩ na velikost pφsmen
m Ber string jako vφce °ßdek
o Pouze jednou m∞≥ hledan² text
s Ber text jako jednu °ßdku
x Pou₧ij rozÜφ°enΘ v²razy hledßnφ
 
 
  O PinkNet Web Serveru | Demo vSHOP.pnws | Mailing list | Download | Oznßmenφ o chyb∞
 
Kontakt