LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> Perl (1) - Dávka teorie na úvod

Perl Ú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.

8.2.2005 13:00 | Jiří Václavík | Články autora | přečteno 107070×

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ů:

  • požádej uživatele o dvě čísla
  • načti je od něj
  • sečti je
  • pošli jejich součet na výstup

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 historie

Ná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 vlastnostech

Pů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říprava

S 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ém

Perl je multiplatformní jazyk a spustíme ho prakticky na všech linuxových distribucích i jiných operačních systémech.

Interpret Perlu

S 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:

$ perl -v
This is perl, v5.10.0 built for i586-linux-thread-multi

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
$

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:

$ ./configure
$ make 
# make install

V případě úspěchu nyní Perl máme nainstalován, o čemž se ostatně můžeme přesvědčit:

$ perl -v

Programy pak budeme spouštět takto:

$ perl program.pl

Textový editor

Lze 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áze

Nainstalujme 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 server

Budeme 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:

$ perlcc program.pl

Tak získáme spustitelný soubor ./a.out. Volbou -o můžeme určit získanému souboru jméno.

$ perlcc -o program program.pl

Tím byl vytvořen soubor ./program.

Ukázkový program

Podívejme se na úvod na program vypisující text. Ten zapíšeme v Céčku takto:

#include <stdio.h>
int main(void){
    printf ("Program v Cecku\n");
}

V Perlu lze týž efekt docílit následovně:

print "Program v Perlu"\n;

Uložíme-li tento kód do souboru program.pl, lze ho interpretovat následovně:

$ perl program.pl
Program v Perlu
$

Na co se můžete těšit?

Zde je seznam témat, které se v seriálu dříve či později objeví:

  • Různé typy proměnných, operace, funkce pro práci s nimi
  • Řídící konstrukce
  • Podprogramy, moduly
  • Vstup a výstup, formátování řetězců
  • Práce se soubory a databázemi
  • Spolupráce s příkazovým řádkem, operačním systémem
  • Regulární výrazy
  • CGI a webové programování
  • Objektově orientované programování
  • Dokumentace
  • Testování
  • Práce s různými typy dat
  • Programování GUI
  • Perl 6

Verze pro tisk

pridej.cz

 

DISKUZE

Má cenu se učit PERL? 22.2.2010 20:16 David „General" Klouček
|- Re: Má cenu se učit PERL? 23.2.2010 15:48 Hynek (Pichi) Vychodil
L Re: Má cenu se učit PERL? 23.2.2010 17:48 Radim Kolář
  L Re: Má cenu se učit PERL? 23.2.2010 21:07 David „General" Klouček
Download Perl 16.12.2014 03:59 Jaroslav Kelt Kuchera
  L Re: Download Perl 22.12.2014 07:16 MaReK Olšavský




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze