1 / 16

Perl

Perl. Co je Perl a na co je dobrý Základní konstrukce jazyka Jednoduché regulární výrazy Cvičné příklady Literatura. Co je Perl a na co je dobrý. Co je Perl: Interpretovaný jazyk s možností OOP přístupu, původně orientovaný na zpracování textu Spousta podpůrných knihoven pro různé oblasti

tehya
Download Presentation

Perl

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Perl • Co je Perl a na co je dobrý • Základní konstrukce jazyka • Jednoduché regulární výrazy • Cvičné příklady • Literatura

  2. Co je Perl a na co je dobrý • Co je Perl: • Interpretovaný jazyk s možností OOP přístupu, původně orientovaný na zpracování textu • Spousta podpůrných knihoven pro různé oblasti • Syntaxe podobná Pascalu nebo C ale volnější • V čem je skvělý: • Zpracování textu, regulární výrazy • Rychlá a “špinavá” řešení problémů • Intuitivní jazyk • Zábavnější programování díky obskurním jazykovým konstrukcím

  3. Stinné stránky: • Není vhodný pro velmi velké projekty • Umožňuje psát zcela nesrozumitelný kód:$/='}"6ft.(&^)+@<B#,/JK2=>?@7$eJp.',$"= eval$/,@/ =split//,$/.$@,$/=0;while($/<26){$_.=$/[ord($/[++$/])-7]}print...ale běžně se téhle vlastnosti nevyužívá

  4. „Hello world!“ • Nejjednodušší program: print “Hello world!”; Na konci příkazu je vždycky středník. Příkaz – parametry nejsou nutně v závorce.

  5. Nejjednodušší program: • Skalár • Jednoduchá proměnná (číslo, řetězec, pointer)$zvire = “Panda červená“;$pocet_kober = 42; • Seznam • Jednorozměrné pole skalárů@zviratka = (“pejsek”, “kocicka”);$zviratka[1] = “kocicka”; • Hash • Dvojice skalárů – klíč a jemu příslušný obsah%mistnosti = ( “13A” => “Vybeh zeber”, “25C” => “Pripravna zveriny”);

  6. „Hello buvol!“ • Práce se skalární proměnnou – celý program: • Z čehož: • Žádné povinné konstrukce ,,základního těla” typuvoid main () {} v C. • Není potřeba proměnnou definovat, typ se určí podle toho co do ní přiřazujeme – tady jen pomocí ,,$” říkáme, že to je skalár. $buvolu = 17;print “buvolu: $buvolu\n”;

  7. Spouštění programu • Spouštění programu: • Jen tak: perl program.pl • S výpisem varování: perl -w program.pl • Jako spustitelného souboru (UNIX)(viz dále)

  8. Jak získat v shellu spustitelný program? • Na prvním řádku určíme jako interpreter Perl, program tedy vypadat třeba takhle:#/usr/bin/perlprint “Hello world!“ • Označíme program jako spustitelný:chmod a+x program.pl

  9. Příklad 1: • Napište program v Perlu, kde: • Přiřadíte číslo nebo text do skalární proměnné • Vypíšete ho s nějakým textem (ala bůvoli) na terminál • Upravte ho, aby šel spustit v shellu • ...a spusťte ho • Pomocí interpretru (perl program.pl) • Přímo jako program (./program.pl)

  10. Big buvol is watching you...

  11. Smyčka na čtení ze souboru #!/usr/bin/perl -w while ($r=<stdin>) { print $r; }

  12. Hledání v manuálech man perlman perlsynman perlopman perlfuncman perlreZkuste si hledání pomocí „/“ a „n“.Zkuste najít dokumentaci k „while“.

  13. Vypiš jen řádky odpovídající regexp: #!/usr/bin/perl -w while ($r=<stdin>) { if ($r =~ /leguan/) { print $r; } }

  14. Vsechno kolem infekce,jenom však ne dezinfekce #!/usr/bin/perl -w while ($r=<stdin>) { if ($r =~ /\binf[ie]/) { print $r; } } Buďto ,,i” a nebo ,,e” hraniceslova

  15. Jednoduché nahrazování: #!/usr/bin/perl -w while ($r=<stdin>) { $r =~ s/^\s{3}//g; print $r; }

  16. Literatura • Domácí stránka Perlu: • http://www.perl.org/ • Anglické stránky na WWW • http://www.perldoc.com/perl5.8.0/pod/perlintro.html • http://erudil.com/preqr.pdf • http://www.itlab.musc.edu/docs/perl_regexp/ • České WWW stránky: • http://www.perl.cz • http://perl.eurohost.cz/ • http://www.root.cz/clanek/942 • Knihy v češtině: • Pavel Satrapa: Perl pro zelenáče. Neokortex, Praha 2000. • Sriram Srinivasan: Perl pro pokročilé, Computer Press, Praha 1998

More Related