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