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