home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / Komunik / pnws / pnws1074s.exe / file0078.bin < prev    next >
Encoding:
Text File  |  1999-07-13  |  5.6 KB  |  254 lines

  1. <HTML>
  2. <HEAD>
  3.    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1250">
  4.    <META NAME="GENERATOR" CONTENT="Mozilla/4.02 [en] (Win95; I) [Netscape]">
  5.    <META NAME="Author" CONTENT="Tomas Rosa">
  6.    <TITLE>Prnφ program</TITLE>
  7.  
  8. <!--#include virtual="/perl_header.inc"-->
  9.  
  10. <h3>Prvnφ program v jazyce PERL</h3>
  11.  
  12. Dßme se hned do psanφ prvnφho programu. Jako prvnφ program zvolφme
  13. obligßtnφ Ahoj sv∞te. Proto₧e se pohybujeme v rßmci internetu a tak mß
  14. b²t i tento "pr∙vodce" pojat, p°edpoklßdßme, ₧e nßÜ skript je
  15. volßn z internetovΘho prohlφ₧eΦe.</P>
  16.  
  17. <UL>
  18. <PRE>#!/usr/bin/perl
  19. #
  20. # Vypis textu
  21. ###############
  22.  
  23. print "Content-type: text/plain\n\n";
  24. print "Ahoj sv∞te, vφtß t∞ m∙j prvnφ CGI skript...\n";</PRE>
  25. </UL>
  26.  
  27. <P>áááPrvnφ p°φkaz PRINT vypisuje typ dat pro prohlφ₧eΦ. Symbol <B>\n</B>
  28. je od°ßdkovßnφ. Jak vidφte, pou₧il jsem dvojitΘ uvozovky. Perl vÜak dovoluje
  29. pou₧itφ i apostorof∙ platφ tedy, ₧e <B>" = '</B>. P°i v²pisu text∙,
  30. jsme omezeni tφm, ₧e nelze vypsat n∞jakΘ znaky p°φmo. Nap°φklad <B>@</B>
  31. musφme napsat jako <B>\@</B>. To sanΘ platφ o $, " a \. P°ed tyto
  32. znaky je tedy nutno psßt \.</P>
  33.  
  34. <P>áááPokud budeme chtφt vypsat delÜφ text, nap°φklad hlaviΦku HTML dokumentu,
  35. pou₧ijeme v²pis pomocφ bloku. Tento v²pis se provßdφ nßsledovn∞:</P>
  36.  
  37. <UL>
  38. <PRE><B>print <<KONEC;
  39. </B><HTML><HEAD><TITLE>Titulek</TITLE></HEAD>
  40. <BODY>
  41. Tady je text dokumentu.
  42. </BODY></HTML>
  43. <B>KONEC</B></PRE>
  44. </UL>
  45.  
  46. <P>Po p°φkazu PRINT pou₧ijeme znaky << a jmΘno konce bloku. Jako
  47. za ka₧d²m p°φkazem nßsleduje st°ednφk. Nßsledujφcφ text je pak brßn jakou
  48. parametr p°φkazu PRINT, dokud interpretr nenarazφ na definovan² konec.
  49. PotΘ nßsledujφ ji₧ stadartnφ p°φkazy perlu. Tφmto si uÜet°φme mnoho prßce
  50. p°i op∞tovnΘm psanφ PRINT p°ed ka₧dou °φdkou.</P>
  51.  
  52. <br><h3>Prom∞nnΘ</h3>
  53.  
  54. Ka₧d² program obsahuje takΘ prom∞nnΘ. Perl s nimi pracuje velice
  55. obratn∞. Nemusφ se urΦovat typ, ani velikost prom∞nnΘ. Neexistujφcφ prom∞nnß
  56. nehlßsφ chybu, pokud se na ni n∞kdo odkazuje. To se vÜak stßvß zdrojem
  57. t∞₧ko odhaliteln²ch chyb.</P>
  58.  
  59. <P>áááDefinice prom∞nn²ch se provßdφ tφm, ₧e do nφ prost∞ p°i°adφme. Jako
  60. jejich identifikace se pou₧φvß znak $ jako p°edpona nßzvu.</P>
  61.  
  62. <UL>
  63. <PRE>$jmeno="Tomas";
  64. $vek=18;
  65. print "Jmenuji se $jmeno a je mi $vek let.";</PRE>
  66. </UL>
  67.  
  68. <P>Jako v²stup tohoto programu dostaneme text "<B>Jmenuji se Tomas
  69. a je mi 18 let.</B>". Z tohoto p°φkladu tedy vypl²vß, ₧e perl je velice
  70. pohodln² jazyk pro prßci s prom∞n²mi.</P>
  71.  
  72.  
  73. <br><h3>Porovnßvßnφ</h3>
  74.  
  75. Jak jsem ji₧ °ekl, perl se nejvφce podobß jazyku C a proto nenφ divu,
  76. ₧e formßt logick²ch podmφnek je nßsledujφcφ:</P>
  77.  
  78. <CENTER><TABLE BORDER=1 >
  79. <TR>
  80. <TD BGCOLOR="#C0C0C0">Akce </TD>
  81.  
  82. <TD BGCOLOR="#C0C0C0">pro Φφsla </TD>
  83.  
  84. <TD BGCOLOR="#C0C0C0">pro text </TD>
  85. </TR>
  86.  
  87. <TR>
  88. <TD>rovnost</TD>
  89.  
  90. <TD ALIGN=CENTER>= =</TD>
  91.  
  92. <TD ALIGN=CENTER>eq</TD>
  93. </TR>
  94.  
  95. <TR>
  96. <TD>nerovnost</TD>
  97.  
  98. <TD ALIGN=CENTER>!=</TD>
  99.  
  100. <TD ALIGN=CENTER>ne</TD>
  101. </TR>
  102.  
  103. <TR>
  104. <TD>Vracφ -1, 0, 1, podle<BR>
  105. toho, kterΘ znamΘnko<BR>
  106. platφ</TD>
  107.  
  108. <TD ALIGN=CENTER><=></TD>
  109.  
  110. <TD ALIGN=CENTER>cmp</TD>
  111. </TR>
  112.  
  113. <TR>
  114. <TD>vetÜφ ne₧</TD>
  115.  
  116. <TD ALIGN=CENTER>></TD>
  117.  
  118. <TD ALIGN=CENTER>lt</TD>
  119. </TR>
  120.  
  121. <TR>
  122. <TD>menÜφ ne₧</TD>
  123.  
  124. <TD ALIGN=CENTER><</TD>
  125.  
  126. <TD ALIGN=CENTER>gt</TD>
  127. </TR>
  128.  
  129. <TR>
  130. <TD>vetÜφ nebo rovno</TD>
  131.  
  132. <TD ALIGN=CENTER>>=</TD>
  133.  
  134. <TD ALIGN=CENTER>le</TD>
  135. </TR>
  136.  
  137. <TR>
  138. <TD>menÜφ nebo rovno</TD>
  139.  
  140. <TD ALIGN=CENTER><=</TD>
  141.  
  142. <TD ALIGN=CENTER>ge</TD>
  143. </TR>
  144. </TABLE></CENTER>
  145.  
  146. <P>Zßpis jednoduchΘ promφnky IF m∙₧e tedy vypadat nßsledovn∞:</P>
  147.  
  148. <UL>
  149. <PRE>$a=10;
  150. $b=20;
  151. if ($a>$b) {print "a je > nez B\n";}
  152. áááelse {print "neplati to";}</PRE>
  153. </UL>
  154.  
  155. <P>Podmφnka IF mß nßsledujφcφ syntaxi zßpisu:</P>
  156.  
  157. <UL>
  158. <PRE>if (<I>podminka</I>) {<I>prikaz;</I>}
  159. elseif (<I>podminka</I>) {<I>prikaz;</I>}
  160. else {<I>prikaz;</I>}</PRE>
  161. </UL>
  162.  
  163. <P>kde druhß a t°etφ °ßdka nenφ povinnß. P°φkaz∙ ELSEIN m∙₧e nßsledovat
  164. mnoho, zatφmco ELSE je jen jeden nakoci.</P>
  165.  
  166. <P>áááPro vytvß°enφ slo₧itejÜφch podmφnek je mo₧nost vyu₧φt jejich sluΦovßnφ
  167. pomocφ operand∙ AND, OR Φi XOR. V perlu se dajφ vyu₧φt oba nφ₧e uvßd∞nΘ
  168. zp∙soby zßpisu.</P>
  169.  
  170. <CENTER><TABLE BORDER=1 >
  171. <TR>
  172. <TD ALIGN=CENTER BGCOLOR="#C0C0C0">Perl<BR>
  173. styl</TD>
  174.  
  175. <TD ALIGN=CENTER BGCOLOR="#C0C0C0">C<BR>
  176. styl</TD>
  177.  
  178. <TD ALIGN=CENTER BGCOLOR="#C0C0C0">V²znam</TD>
  179. </TR>
  180.  
  181. <TR>
  182. <TD ALIGN=CENTER>&</TD>
  183.  
  184. <TD>&&</TD>
  185.  
  186. <TD ALIGN=CENTER>AND</TD>
  187. </TR>
  188.  
  189. <TR>
  190. <TD ALIGN=CENTER>|</TD>
  191.  
  192. <TD ALIGN=CENTER>||</TD>
  193.  
  194. <TD ALIGN=CENTER>OR</TD>
  195. </TR>
  196.  
  197. <TR>
  198. <TD ALIGN=CENTER>^</TD>
  199.  
  200. <TD></TD>
  201.  
  202. <TD ALIGN=CENTER>XOR</TD>
  203. </TR>
  204. </TABLE></CENTER>
  205.  
  206. <P>áááPro pohodln∞jÜφ manipulaci s °etezci (texty), obsahuje perl jeÜt∞
  207. hledßnφ pod°et∞zce v textu. To se provßdφ zßpisem:</P>
  208.  
  209. <UL>
  210. <PRE>$text="Tady tedy budu hledat nejake slovo.";
  211. if ($text=<B>~/hleda/<I>gimosx</I></B>) {prikaz;}</PRE>
  212. </UL>
  213.  
  214. <P>Kde text uzav°en² v // je hledßn a GIMOSX jsou volitelnΘ parametry:</P>
  215.  
  216. <CENTER><TABLE>
  217. <TR>
  218. <TD>g</TD>
  219.  
  220. <TD>Hledej globßln∞, tedy vÜude</TD>
  221. </TR>
  222.  
  223. <TR>
  224. <TD>i</TD>
  225.  
  226. <TD>Nehle∩ na velikost pφsmen</TD>
  227. </TR>
  228.  
  229. <TR>
  230. <TD>m </TD>
  231.  
  232. <TD>Ber string jako vφce °ßdek</TD>
  233. </TR>
  234.  
  235. <TR>
  236. <TD>o</TD>
  237.  
  238. <TD>Pouze jednou m∞≥ hledan² text</TD>
  239. </TR>
  240.  
  241. <TR>
  242. <TD>s</TD>
  243.  
  244. <TD>Ber text jako jednu °ßdku</TD>
  245. </TR>
  246.  
  247. <TR>
  248. <TD>x</TD>
  249.  
  250. <TD>Pou₧ij rozÜφ°enΘ v²razy hledßnφ</TD>
  251. </TR>
  252. </TABLE></CENTER>
  253.  
  254. <!--#include virtual="/main_footer.inc"-->