ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
Perl (1) - Dávka teorie na úvodÚvodní díl seriálu věnujme vlastnostem a historii Perlu. Podíváme se na to, co je dobré vědět, než začneme psát programy. Co je Perl?Perl je jednoduchý a praktický interpretační programovací jazyk. V praxi je využívaný zejména na WWW serverech a při zpracování textu. V oblasti zpracovávání souborů patří bez nadsázky vůbec k těm nejlepším nástrojům, které existují. Ostatně právě kvůli tomu byl Perl navržen. Co je cílem seriálu?Odpověď je jednoduchá - cílem je pomoci čtenářům naučit se Perl. Co je programování?Programování můžeme pro naše potřeby chápat jako vytváření programu. Program je seznam činností, které byly nařízeny počítači k vykonání. Programem je například tato posloupnost příkazů:
Obecněnji lze říci, že programy nejsou jen pro počítače. Stačí nahlédnot do kuchařky. S trochou nadsázky se dá říct, že každý recept je programem. Program musí být napsán v jazyce, kterému rozumí jak autor, tak ten, pro koho je určen - v našem případě počítač. Programování tedy znamená přesvědčit počítač, aby udělal to, co po něm chceme. Něco z historieNázev Perl vznikl z akronymu Practical Extraction and Report Language. Autorem je Kanaďan Larry Wall (narozen 10. 3. 1949, osobní stránka). Napsal jej pro svou potřebu, protože mu chybělo něco jednoduššího než Céčko, co zároveň zvládne i větší požadavky. Potom v roce 1987 uvolnil Perl verze 1.0 pro veřejnost a sám se divil zájmu, který tím vyvolal. Proto se začal ještě dále vyvíjet. Z nástroje pro zpracování textu se povýšil na programovací jazyk s mnoha doplňky. Dnes se o vývoj Perlu stará skupina lidí v čele s Larrym Wallem. Poslední stabilní verzí Perlu je verze 5.12.3 ze dne 21. 1. 2011. Perlu 5.x již táhne na dospělost, neboť je aktuální již od roku 1994. S velkým očekáváním však komunita čeká na Perl 6. Je vyvíjen již řadu let a uvolnění se dlouho odkládá. Manažeři dnes po těchto zkušenostech tvrdí: "Perl 6 has no schedule". Zvýšit se má rychlost a efektivita a přijde také řada revolučních změn, které Perl opět posunou daleko před konkurenci. Specifikace s vlastnostmi jazyka je již hotová - v ní se nyní dělají pouze drobné úpravy. Čeká se na implementaci interpretu - na něj si ještě nějakou dobu musíme počkat. Na popularitě získal Perl i tím, že se osvědčil jako výborný nástroj pro CGI skriptování. CGI je externí program, který je spouštěn na žádost WWW serveru. CGI skriptům se budeme věnovat později v samostatných dílech. Dnes již nemá CGI takovou popularitu, protože ho z jeho pozice vytlačují jazyky typu PHP (PHP mimochodem z Perlu vychází). Podotkněme, že pro webové programování však Perl díky mod_perlu můžeme používat pohodlně dále. Stručně o vlastnostechPůvodně byl Perl napsán pro unixovou platformu, ale dnes běží i na mnoha dalších. Mezi nimi se dá relativně dobře přenášet. Samozřejmě, odlišnosti jsou, avšak často do kódu nemusíme zpravidla vůbec zasáhnout. Hybnou silou lidstva je lenost. A pro líné lidi budeme těžko hledat tak jednoduchý jazyk, ve kterém napíšeme tolik jako v Perlu. Perl se řídí filozofií "za málo peněz hodně muziky". Množství kódu, které je třeba napsat, je oproti většině jiným jazykům velice malé. Psát programy lze neobyčejně rychle. Stejně tak se Perl díky těmto vlastnostem dají základy relativně rychle naučit. Ovšem časem je třeba si uvědomit, že psaní programů zde není přepisování konstrukcí jiných jazyků do syntaxe Perlu. Perl má svoji vlastní filozofii a největší efektivity dosáhneme, když ji porozumíme. Stejně jako u cizích řečí je třeba se naučit v Perlu myslet, abychom využili všeho, co nám skýtá. Ponořit se do hlubin Perlu bude vyžadovat velké úsilí. Cesta k tomu je dlouhá a plná nástrah, ale stojí za to. Perl je pod GNU GPL Actistic licencí. Můžete ho používat zdarma a to i v komerčních projektech. K programování v Perlu potřebujeme jen interpret Perlu a textový editor. Není nutný ani kompilátor, který ale existuje také a Umožňuje nám poskytovat program ostatním, aniž by viděli zdrojový kód. V Perlu se dá programovat strukturovaně i objektově. Jednou z hlavních výhod Perlu je existence serveru CPAN (Comprehensive Perl Archive Network). Nalezneme zde interpret pro různé platformy, dokumentaci a především obrovskou databázi knihoven řešících rozličné problémy, která nemá pro žádný jiný jazyk obdoby. Díky ní se můžeme spolehnout na to, že Perl jen tak ze zemského povrchu nezmizí, ale naopak tu bude ještě hodně dlouho. Archivu se budeme věnovat ve speciálním dílu a knihovny z něj budeme následně často využívat. Existují i české mirrory, například ftp.linux.cz/pub/perl. Jaké má Perl nevýhody? V Perlu nelze deklarovat proměnné a je zde velmi benevolentní typová kontrola (v Perlu 6 to bude řešeno). Syntaxe Perlu je velmi volná - třeba jen obyčejná podmínka se dá napsat nesčetně způsoby. Je vhodné se držet nějakých pravidel, protože Perl člověku dovolí někdy až příliš mnoho. Taková je ale filozofie jazyka. Perl se běžně nepoužívá pro mnohasetstránková díla, ale spíše pro kratší a efektivní programy. Není to ale pravidlo. V Perlu existují i velké projekty, na kterých pracují celé týmy vývojářů. Říká se, že Perl není příliš vhodným jazykem pro začínající programátory. Umožňuje používat nesrozumitelné konstrukce a člověk si může navyknout na některé zlozvyky. Pravdou je, že, pokud člověk nepustí Perl z řetězu, není to tak zlé. Většinou stačí snažit se psát přehledně a používat mód strict, později se lze seznámit s jinými mechanizmy, které člověku pomáhají psát programy čitelně. Instalace a přípravaS kvalitními nástroji je práce vždy příjemnější. Předtím, než začneme programovat, je tedy nutné si tyto nástroje představit. Co bude tedy potřeba? Nějaký operační systém (v seriálu předpokládáme nějaký Linux, avšak lze použít i jiný systém), interpret jazyka Perl, textový editor a později, až se budeme věnovat databázím, tak Postgres nebo MySQL a také k vyvíjení CGI skriptů WWW server. Operační systémPerl je multiplatformní jazyk a spustíme ho prakticky na všech linuxových distribucích i jiných operačních systémech. Interpret PerluS největší pravděpodobností ho již v systému máte. Přesvědčit se o tom můžete tak, že v konzoli zadáte příkaz:
Pokud vidíme podobný výstup, máme interpret instalován a o nic se dál starat nemusíme. První řádek výstupu obsahuje číslo verze. Je výhodné mít vždy tu nejnovější stabilní verzi. Co dělat když Perl instalovaný nemáme? Nejjednodušší je ho nainstalovat z médií, ze kterých byla instalována naše distribuce. Pokud tento způsob nemůžeme z nějakého důvodu praktikovat, je nutné Perl nějak získat - nejlépe stáhnout aktuální verzi z internetu. Ta je vždy k dispozici na www.perl.org/get.html. Soubor se obvykle jmenuje stable.tar.gz. Stačí ho jen rozbalit, přejít do získaného adresáře, zkompilovat a nainstalovat:
V případě úspěchu nyní Perl máme nainstalován, o čemž se ostatně můžeme přesvědčit:
Programy pak budeme spouštět takto:
Textový editorLze použít kterýkoliv, jehož výstupem je neformátovaný text. Měl by umět zvýrazňovat syntaxi Perlu a odsazovat. Pohodlně lze pracovat například v emacsu s cperl-mode. Nedáte-li dopustit na vim, lze ho samozřejmě používat taktéž. K aktivaci zvýrazňování syntaxe je třeba příkaz :syntax on. Není třeba se starat o volbu jazyka - vim ho rozpozná podle přípony.. Existuje také řada propracovaných grafických vývojových prostředí. Volba je na každém. DatabázeNainstalujme si Postgres nebo MySQL nebo nějakou vaší oblíbenou. Jsou-li přímo v linuxové distribuci, máme vystaráno, jinak je najdeme na zmíněných odkazech. V seriálu se naučíme používat obě výše uvedené, avšak práce s ostatními je analogická. Perl podporuje širokou paletu databází, takže není třeba se bát absence příslušných ovladačů. WWW serverBudeme předpokládat nějakou aktuální verzi Apache. PřekladačPřekladač je k dispozici v základní distribuci Perlu a je užitečný v případech, kdy chceme poskytnout program, ale zdrojový kód si chceme ponechat pro sebe. To se hodí při psaní komerčních aplikací. Překladač může nahradit interpret, neboť ho ke své činnosti nepotřebuje. Zdrojový kód však musí obsahovat všechny potřebné knihovny, a je tak o mnoho větší než obyčejný kód. Použitím překladače vznikne binární soubor. Překladač použijeme takto:
Tak získáme spustitelný soubor ./a.out. Volbou -o můžeme určit získanému souboru jméno.
Tím byl vytvořen soubor ./program. Ukázkový programPodívejme se na úvod na program vypisující text. Ten zapíšeme v Céčku takto:
V Perlu lze týž efekt docílit následovně:
Uložíme-li tento kód do souboru program.pl, lze ho interpretovat následovně:
Na co se můžete těšit?Zde je seznam témat, které se v seriálu dříve či později objeví:
Související články
Celou kategorii (seriál) Další
Perl (2) - Úvod do syntaxe
Perl (3) - Proměnné Perl (4) - Čísla a řetězce Perl (5) - Podmínky Perl (6) - Pravdivostní výrazy Perl (7) - Vstup poprvé Perl (8) - Některé základní vestavěné funkce Perl (9) - Cykly Perl (10) - Další řídící struktury Perl (11) - Pole - úvod Perl (12) - Pole - základní operace Perl (13) - Hashe Perl (14) - Další nástroje pro seznamy Perl (15) - Výchozí proměnná, heredoc, symbolické odkazy Perl (16) - Regulární výrazy - začínáme Perl (17) - Regulární výrazy - kotvy Perl (18) - Regulární výrazy - množiny znaků Perl (19) - Regulární výrazy - opakování a kvantifikátory Perl (20) - Regulární výrazy - magické závorky Perl (21) - Regulární výrazy - nahrazování Perl (22) - Regulární výrazy - přepínače Perl (23) - Regulární výrazy - rozšířené vzory Perl (24) - Regulární výrazy - příklady Perl (25) - Regulární výrazy - závěr Perl (26) - Podprogramy Perl (27) - Prototypy Perl (28) - Rozsahy platnosti proměnných Perl (29) - Úvod k práci se soubory Perl (30) - Práce se soubory Perl (31) - Testování souborů Perl (32) - Jiné typy souborů Perl (33) - Formátování výstupu - printf Perl (34) - Formátování výstupu - formáty Perl (35) - Vestavěný debugger Perl (36) - Grafické debuggery Perl (37) - Začínáme s moduly Perl (38) - Rozhraní modulu Perl (39) - Pragma Perl (40) - Dodatky k modulům Perl (41) - CPAN Perl (42) - Argumenty příkazového řádku Perl (43) - Přepínače Perl (44) - Dlouhé přepínače Perl (45) - Odkazy Perl (46) - Užití odkazů a anonymní data Perl (47) - Složitější datové struktury Perl (48) - Libovolně složité datové struktury Perl (49) - Tabulky symbolů a typegloby Perl (50) - Uzávěry a iterátory Perl (51) - Signály Perl (52) - Externí příkazy Perl (53) - Režim nakažení Perl (54) - Fork Perl (55) - Eval Perl (56) - Volby příkazu perl Perl (57) - Jednořádkové skripty Perl (58) - OOP - úvod Perl (59) - OOP - typické použití Perl (60) - OOP - dědičnost Perl (61) - OOP - přínos a užití dědičnosti Perl (62) - OOP - přetěžování Perl (63) - OOP - závěr Perl (64) - Projekt - čtečka sportovních výsledků Perl (65) - Projekt - získání dat Perl (66) - Projekt - výběr zápasů a podrobnosti Perl (67) - Projekt - dokončujeme modul Perl (68) - Projekt - zobrazení zápasů Perl (69) - Projekt - online přenos Perl (70) - Plain Old Documentation Perl (71) - Navazování proměnných Perl (72) - Navazování složitějších datových typů Perl (73) - DBM Perl (74) - Sockety Perl (75) - Obsluha více klientů Perl (76) - Síťová hra v kostky Perl (77) - Služby internetu Perl (78) - Databáze - úvod Perl (79) - Databáze - manipulace s daty Perl (80) - Databáze - závěrečné poznámky Perl (81) - CGI - příprava webového serveru Perl (82) - CGI - první skripty Perl (83) - CGI - získávání dat od uživatele Perl (84) - CGI - usnadnění tvorby skriptů pomocí modulu CGI Perl (85) - CGI - generování dokumentu modulem CGI Perl (86) - CGI - cookies Perl (87) - CGI - příklad aplikace Perl (88) - CGI - závěr Perl (89) - Mason - snadné psaní webů Perl (90) - Mason - speciální bloky Perl (91) - Mason - handlery Perl (92) - Mason - závěr Perl (93) - Catalyst - MVC framework pro Perl Perl (94) - Catalyst - základy pro psaní aplikace Perl (95) - Catalyst - šablony Perl (96) - Catalyst - spolupráce s databází Perl (97) - Curses - tvorba textových uživatelských rozhraní Perl (98) - Curses - pozicování a okna Perl (99) - Curses - měření rychlosti psaní Perl (100) - Curses - použití hotových widgetů Perl (101) - Curses - jednoduchý textový editor Perl (102) - Rozšiřování Perlu pomocí XS Perl (103) - Rozšiřování Perlu pomocí SWIG Perl (104) - Testování rychlosti Perl (105) - Testování programových jednotek Perl (106) - Debugování pomocí komentářů Perl (107) - Moose - moderní objektový systém Perl (108) - Moose - základní vlastnosti Perl (109) - Moose - role Perl (110) - Moose - meta API Perl (111) - Pokročilá práce se seznamy Perl (112) - Práce s PDF Perl (113) - Práce s archivy Perl (114) - Tk - úvod Perl (115) - Tk - umísťování widgetů Perl (116) - Tk - základní widgety Perl (117) - Tk - některé pokročilejší widgety Perl (118) - Tk - čas a události Perl (119) - Tk - CD man Perl (120) - Wx - základní práce s widgety Perl (121) - Wx - události Perl (122) - Gtk2 - úvod Perl (123) - Gtk2 - základní práce s obrázky Perl (124) - Gtk2 - události a čas Perl (125) - Gtk2 - vlastní widgety Perl (126) - Gtk2 - textové okno a práce s pozicemi Perl (127) - Gtk2 - hierarchické seznamy Perl (128) - Gtk2 - dialogy Perl (129) - Gtk2 - skládání widgetů Perl (130) - Gtk2 - menu a toolbary Perl (131) - Gtk2 - transparentní okna, tray ikona, výběr souborů Perl (132) - Gtk2 - drag&drop, druid Perl (133) - Gtk2 - úpravy vzhledu aplikací pomocí rc Perl (134) - Gtk2 - Glade Interface Designer Perl (135) - XML - čtení a zápis Perl (136) - XML - DOM a SAX přístupy Perl (137) - Vlákna Perl (138) - Memoizace - cachování podprogramů Perl (139) - Profilling - efektivní odhalování pomalých míst v programu Perl (140) - Profilling - píšeme si vlastní profiler / debugger Perl (141) - Formátování kódu, deparsování, perltidy Perl (142) - Způsoby konfigurování Perl (143) - Struktura datových typů, správa paměti Perl (144) - POE - událostmi řízené programování Perl (145) - POE - aplikace typu klient-server Perl (146) - Perl 6 - jazyk budoucnosti Perl (147) - Perl 6 - regulární výrazy, nové operátory Perl (148) - Perl Culture Perl (149) - Závěr Pozvánka na Český Perl Workshop Perl 5.22.0 a vše okolo Perl 5.24.0 a vše okolo Celou kategorii (seriál) Další
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |