Okamžite podávané

Klasickým využitím servera na odosielanie správ je hlásenie chýb – server zistí problém a odošle správy rôznym používateľom, ktorí by ho mohli vyriešiť. V našej spoločnosti používame server podobný tomu, ktorý tu vybudujeme s vynikajúcim Nagios (www.nagios.org) monitorovací softvér. Tento softvér nielen odosiela okamžité správy, ale ich aj prijíma a môžete ho použiť na nastavenie robota na odosielanie správ.

Okamžite podávané

Náš server na odosielanie správ bude napísaný v jazyku Perl a zdroje s otvoreným zdrojom voľne dostupné na internete poskytnú všetko ostatné, čo potrebujeme. Perl bol jedným z prvých programov s otvoreným zdrojovým kódom, ktorého vývoj možno vystopovať až do práce Larryho Walla v roku 1987. Jeho pôvodným cieľom bolo skombinovať funkcie známych unixových utilít awk a sed v programovacom jazyku podobnom C. Sed (stream editor) je nástroj príkazového riadka, ktorý vykonáva vyhľadávanie a nahrádzanie súborov jeden riadok po druhom pomocou bežných výrazy na zhodu s obsahom, zatiaľ čo awk je skriptovací jazyk s vysokoúrovňovými konštrukciami na porovnávanie vzorov a textu spracovanie. Veľká časť sémantiky Perlu pochádza z týchto úctyhodných pomôcok, ale to nie je problém, pretože boli dostatočne silné, aby sa tieto konštrukcie stále ťažko zlepšovali. Syntax Perlu bola založená na syntaxi C, ale je to skôr interpretovaný ako kompilovaný jazyk a pre mnohých používateľov Unixu sa stal predvoleným skriptovacím jazykom. Môže sa však rovnako použiť na vytváranie plnohodnotných aplikácií.

Získanie Perlu nemôže byť jednoduchšie: ak používate najnovší Unixový systém, či už Linux, Solaris alebo iný, pravdepodobne ho už máte (ale stojí za to skontrolovať, či ide o najnovšiu verziu). Odporúčame verziu 5.8.5 alebo novšiu – niektoré unixové systémy mimo Linuxu sa dodávajú s verziou 5.6, čo vám môže spôsobiť problémy s neskoršími krokmi nášho projektu. Ak používate Windows, zbalená verzia z aktívneho stavu (www.activestate.com) je populárny.

Keď začnete písať Perl, pomôže vám pomyslieť si, ako by ste niečo napísali vo svojom obľúbenom jazyku a potom to preložili do Perlu. Dôvodom je, že jednou z veľkých silných stránok Perlu – a podľa nášho názoru aj slabosťou – je, že viac ako jeden spôsob, ako to urobiť“, princíp zakotvený v skratke TMTOWTDI (zvyčajne vyslovované ako „Tim Toady“; komplimenty pre Wikipédiu za to) a ušetrí to zmätok, ak sa rozhodnete pre svoju cestu a nebudete sa zmietať v príliš veľa možnostiach.

Napríklad každý programovací jazyk má nejakú formu podmieneného príkazu, ako je IF...ELSE, a normálne podmienené Perl vyzerá takto:

if ($x == 0) { print("x is zero "); } else { print("x is not zero "); } 

(Všimnite si, že na rozdiel od C a PHP sú zložené zátvorky povinné.) Perl však ponúka aj niekoľko ďalších spôsobov vyjadrenia tejto podmienky, ako napríklad:

vytlačiť „x je nula

” if ($x == 0) ;

vytlačiť „x nie je nula

” pokiaľ ($x == 0) ;

(Všimnite si, že zátvorky sú preč.) Mnohé úvody do Perlu sa vyžívajú vo všetkých týchto variáciách a používajú ich vo všetkých možných kombináciách príklady, no aj keď pripúšťame, že môžu byť veľmi užitočné, uľahčujú aj písanie nečitateľného kódu – predstavte si, že zmiešate „pokiaľ“ do „ak...inak“.

Tu sú dve ďalšie malé upozornenia týkajúce sa písania programov v jazyku Perl, ak ste zvyknutí na iný jazyk:

1. Hoci Perl má celú množinu dátových typov, ako sú čísla, reťazce a polia, všetky môžu byť prinútené k iným typom na základe obsahu: napríklad spracovanie poľa ako čísla vráti jeho dĺžku. Existujú rôzne testy rovnosti: vyššie sme použili operátor == na kontrolu, či $x je nula, ale ak my chceli otestovať, či reťazcová premenná $s obsahuje „simon“, potom by sme použili operátor „eq“. namiesto toho.