home *** CD-ROM | disk | FTP | other *** search
- <HTML>
- <HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1250">
- <META NAME="GENERATOR" CONTENT="Mozilla/4.02 [en] (Win95; I) [Netscape]">
- <META NAME="Author" CONTENT="Tomas Rosa">
- <TITLE>Prnφ program</TITLE>
-
- <!--#include virtual="/perl_header.inc"-->
-
- <div style="font-family:Tahoma,Helvetica,Arial; font-size:10pt;">
-
- <h3>Prvnφ program v jazyce PERL</h3>
-
- 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.</P>
-
- <UL>
- <PRE>#!/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";</PRE>
- </UL>
-
- <P>áááPrvnφ p°φkaz PRINT vypisuje typ dat pro prohlφ₧eΦ. Symbol <B>\n</B>
- je od°ßdkovßnφ. Jak vidφte, pou₧il jsem dvojitΘ uvozovky. Perl vÜak dovoluje
- pou₧itφ i apostorof∙ platφ tedy, ₧e <B>" = '</B>. P°i v²pisu text∙,
- jsme omezeni tφm, ₧e nelze vypsat n∞jakΘ znaky p°φmo. Nap°φklad <B>@</B>
- musφme napsat jako <B>\@</B>. To sanΘ platφ o $, " a \. P°ed tyto
- znaky je tedy nutno psßt \.</P>
-
- <P>ááá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∞:</P>
-
- <UL>
- <PRE><B>print <<KONEC;
- </B><HTML><HEAD><TITLE>Titulek</TITLE></HEAD>
- <BODY>
- Tady je text dokumentu.
- </BODY></HTML>
- <B>KONEC</B></PRE>
- </UL>
-
- <P>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.</P>
-
- <br><h3>Prom∞nnΘ</h3>
-
- 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.</P>
-
- <P>ááá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.</P>
-
- <UL>
- <PRE>$jmeno="Tomas";
- $vek=18;
- print "Jmenuji se $jmeno a je mi $vek let.";</PRE>
- </UL>
-
- <P>Jako v²stup tohoto programu dostaneme text "<B>Jmenuji se Tomas
- a je mi 18 let.</B>". Z tohoto p°φkladu tedy vypl²vß, ₧e perl je velice
- pohodln² jazyk pro prßci s prom∞n²mi.</P>
-
-
- <br><h3>Porovnßvßnφ</h3>
-
- 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φ:</P>
-
- <CENTER><TABLE BORDER=1 >
- <TR>
- <TD BGCOLOR="#C0C0C0">Akce </TD>
-
- <TD BGCOLOR="#C0C0C0">pro Φφsla </TD>
-
- <TD BGCOLOR="#C0C0C0">pro text </TD>
- </TR>
-
- <TR>
- <TD>rovnost</TD>
-
- <TD ALIGN=CENTER>= =</TD>
-
- <TD ALIGN=CENTER>eq</TD>
- </TR>
-
- <TR>
- <TD>nerovnost</TD>
-
- <TD ALIGN=CENTER>!=</TD>
-
- <TD ALIGN=CENTER>ne</TD>
- </TR>
-
- <TR>
- <TD>Vracφ -1, 0, 1, podle<BR>
- toho, kterΘ znamΘnko<BR>
- platφ</TD>
-
- <TD ALIGN=CENTER><=></TD>
-
- <TD ALIGN=CENTER>cmp</TD>
- </TR>
-
- <TR>
- <TD>vetÜφ ne₧</TD>
-
- <TD ALIGN=CENTER>></TD>
-
- <TD ALIGN=CENTER>lt</TD>
- </TR>
-
- <TR>
- <TD>menÜφ ne₧</TD>
-
- <TD ALIGN=CENTER><</TD>
-
- <TD ALIGN=CENTER>gt</TD>
- </TR>
-
- <TR>
- <TD>vetÜφ nebo rovno</TD>
-
- <TD ALIGN=CENTER>>=</TD>
-
- <TD ALIGN=CENTER>le</TD>
- </TR>
-
- <TR>
- <TD>menÜφ nebo rovno</TD>
-
- <TD ALIGN=CENTER><=</TD>
-
- <TD ALIGN=CENTER>ge</TD>
- </TR>
- </TABLE></CENTER>
-
- <P>Zßpis jednoduchΘ promφnky IF m∙₧e tedy vypadat nßsledovn∞:</P>
-
- <UL>
- <PRE>$a=10;
- $b=20;
- if ($a>$b) {print "a je > nez B\n";}
- áááelse {print "neplati to";}</PRE>
- </UL>
-
- <P>Podmφnka IF mß nßsledujφcφ syntaxi zßpisu:</P>
-
- <UL>
- <PRE>if (<I>podminka</I>) {<I>prikaz;</I>}
- elseif (<I>podminka</I>) {<I>prikaz;</I>}
- else {<I>prikaz;</I>}</PRE>
- </UL>
-
- <P>kde druhß a t°etφ °ßdka nenφ povinnß. P°φkaz∙ ELSEIN m∙₧e nßsledovat
- mnoho, zatφmco ELSE je jen jeden nakoci.</P>
-
- <P>ááá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.</P>
-
- <CENTER><TABLE BORDER=1 >
- <TR>
- <TD ALIGN=CENTER BGCOLOR="#C0C0C0">Perl<BR>
- styl</TD>
-
- <TD ALIGN=CENTER BGCOLOR="#C0C0C0">C<BR>
- styl</TD>
-
- <TD ALIGN=CENTER BGCOLOR="#C0C0C0">V²znam</TD>
- </TR>
-
- <TR>
- <TD ALIGN=CENTER>&</TD>
-
- <TD>&&</TD>
-
- <TD ALIGN=CENTER>AND</TD>
- </TR>
-
- <TR>
- <TD ALIGN=CENTER>|</TD>
-
- <TD ALIGN=CENTER>||</TD>
-
- <TD ALIGN=CENTER>OR</TD>
- </TR>
-
- <TR>
- <TD ALIGN=CENTER>^</TD>
-
- <TD></TD>
-
- <TD ALIGN=CENTER>XOR</TD>
- </TR>
- </TABLE></CENTER>
-
- <P>áááPro pohodln∞jÜφ manipulaci s °etezci (texty), obsahuje perl jeÜt∞
- hledßnφ pod°et∞zce v textu. To se provßdφ zßpisem:</P>
-
- <UL>
- <PRE>$text="Tady tedy budu hledat nejake slovo.";
- if ($text=<B>~/hleda/<I>gimosx</I></B>) {prikaz;}</PRE>
- </UL>
-
- <P>Kde text uzav°en² v // je hledßn a GIMOSX jsou volitelnΘ parametry:</P>
-
- <CENTER><TABLE>
- <TR>
- <TD>g</TD>
-
- <TD>Hledej globßln∞, tedy vÜude</TD>
- </TR>
-
- <TR>
- <TD>i</TD>
-
- <TD>Nehle∩ na velikost pφsmen</TD>
- </TR>
-
- <TR>
- <TD>m </TD>
-
- <TD>Ber string jako vφce °ßdek</TD>
- </TR>
-
- <TR>
- <TD>o</TD>
-
- <TD>Pouze jednou m∞≥ hledan² text</TD>
- </TR>
-
- <TR>
- <TD>s</TD>
-
- <TD>Ber text jako jednu °ßdku</TD>
- </TR>
-
- <TR>
- <TD>x</TD>
-
- <TD>Pou₧ij rozÜφ°enΘ v²razy hledßnφ</TD>
- </TR>
- </TABLE></CENTER>
-
- </div>
-
- <!--#include virtual="/main_footer.inc"-->