LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Perl (41) - CPAN

Dnes uzavřeme blok dílů zabývajících se moduly. Tématem 41. dílu je archiv modulů CPAN - jeden z hlavních důvodů popularity Perlu.

7.9.2006 06:00 | Jiří Václavík | Články autora | přečteno 15940×

Ve standardní distribuci Perlu je již řada modulů k dispozici. Stačí jen nahlédnout do adresářů uložených v poli @INC. Přesto však v praxi budeme relativně často potřebovat i specializovanější moduly, které si budeme muset sehnat sami. Díky archivu CPAN je to velmi snadné.

Akronym CPAN pod sebou skrývá sousloví Comprehensive Perl Archive Network. Na CPANu jsou již přes 10 let shromážděny volně dostupné moduly s dokumentací a vůbec vše okolo Perlu.

Jak napovídá slovo Comprehensive, jde o obrovské množství dat. Počet modulů již překročil číslo 10000. Lze najít vše od opravdu užitečných modulů až po takové rarity jako třeba vyhledávač v koránu.

CPAN je dostupný na stovkách mirrorů po celém světě. V České republice máme zatím 4 oficiální mirrory.

Každý se do vývoje modulů může sám zapojit a importovat svůj výtvor prostřednictvím PAUSE (Perl Authors Upload SErver).

Určitě stojí za to CPAN prohledat skrz naskrz, protože obsahuje spoustu zajímavých informací.

V adresáři /src na CPANu jsou k dispozici distribuce Perlu.

Do adresáře /doc je umístěna dokumentace. Je zde i to, co v oficiální distribuci Perlu nenalezneme. Většina je však neudržovaná. Upozorněme na část FMTEYEWTK (název vytvořen jako akronym k Far More Than Everything You Ever Wanted To Know), jehož autorem je Tom Christiansen. Obsahuje spoustu rad a vyřešených problémů.

V adresáři /authors nalezneme adresáře autorů modulů. Nakonec zde máme adresář /modules, kde je seznam modulů. Ten obsahuje podadresáře, v nichž jsou moduly řazeny podle daných kritérií - jména modulu, kategorie (viz screenshot níže) nebo jmen jejich autorů.

Hledání modulu na CPAN

CPAN obsahuje vyhledávací stroj, který vyhledávání významně zefektivňuje. Na search.cpan.org je možnost vyhledávat podle slova nebo kategorií.

Úvodní strana vyhledávače modulů search.cpan.org

Úvodní strana vyhledávače modulů search.cpan.org

Po nalezení modulu ho jednoduše stáhneme. Teoreticky lze stáhnout i samotný kód (odkaz source v dokumentaci modulu), ale obvykle se kopíruje tar.gz soubor, ze kterého lze modul instalovat.

Detekce modulu

Ještě než ale modul stáhneme, je užitečné se přesvědčit, zda ho náhodou již v systému nemáme.

Asi nejrychlejší způsob, jak ověřit přítomnost daného modulu v adresářích z pole @INC, je zadání následujícího příkazu.

$ perl -e'print "Modul dostupny\n";' -MJménoModulu

Buď je vypsána hláška Modul dostupny, pak je vše v pořádku - nic nemusíme instalovat a modul můžeme normálně importovat. Anebo se zobrazí chybová hláška Can't locate Math/Bignt.pm in @INC. V tom případě modul nemáme a nezbývá než ho někde sehnat. Nejlépe v archivu CPAN.

Instalace modulu

Z archivu CPAN jsme získali soubor modul.tar.gz. Rozbalením získáme adresář.

$ tar xvzf modul.tar.gz -C $SOURCE_PATH

V něm jsou soubory distribuce a mimo jiné i soubor README, kde je postup instalace. Nejdříve vytvoříme Makefile.

$ perl Makefile.PL

A poté modul nainstalujeme.

$ make
$ make test
# make install

Pokud vše proběhlo, je hotovo a nainstalovaný modul můžeme normálně použít. Spolu s modulem se k němu nainstalovala i dokumentace.

Modul CPAN a automatická instalace modulu

Jestliže máme nainstalován modul CPAN (nebo vylepšený CPANPLUS), výrazně nám to usnadní instalaci modulů. Všechny příkazy, které jsou nutné pro stáhnutí a instalaci modulu se srazí na jediný. Navíc budou automaticky řešeny závislosti.

Než přistoupíme k popisu modulu CPAN, ověřme, zda ho máme v systému.

$ perl -e1 -MCPAN

Pokud dostupný není, stáhneme ho z http://search.cpan.org/~jhi/perl-5.8.0/lib/CPAN.pm a nainstalujeme podle výše uvedeného návodu

Modul CPAN totiž poskytuje interaktivní rozhraní. Stačí zadat jediný příkaz a modul, který chceme instalovat, je stažen a nainstalován. Ke spuštění interaktivního rozhraní je třeba vytvořit skript o těchto dvou řádcích.

use CPAN;
shell;

Obvykle se tento soubor nevytváří a vše se zahrnuje do příkazu shellu. Aby to bylo ještě jednodušší, je výhodné si na něj udělat alias. Dokonce je možné, že alias máte implicitně nastaven na příkaz cpan.

$ perl -MCPAN -eshell

V interpretu, který se právě spustil můžeme zadávat příkazy. První skupinu příkazů tvoří vyhledávací příkazy.

PříkazVýznam
avyhledávání v autorech
bvyhledávání v balících
dvyhledávání v distribucích
ivyhledávání v autorech, balících, distribucích a modulech
mvyhledávání v modulech

Vyhledávání může probíhat regulárně nebo ne. Pokud uvedeme jako příkaz pouze hledaný řetězec, hledá se přesná shoda. Umístěním řetězce mezi lomítka se z něj stává regulární výraz a lze tak používat speciální znaky.

cpan> a /CHRISTIANSEN/
Author id = TOMC
    EMAIL        tchrist@mox.perl.com
    FULLNAME     Tom Christiansen


cpan> 

Dalším a nejdůležitějším příkazem je install. Jak název prozrazuje, stahuje a instaluje moduly. Nainstalujeme si modul Math::Complex.

cpan> install Math::Complex

Pokud se nevyskytnou žádné problémy (jako třeba práva), měl by se modul sám instalovat. Instalovat lze opět i neinteraktivně přímo přes příkaz shellu.

$ perl -MCPAN -e "install 'Math::Complex'"

Velmi zajímavý je též příkaz r v interaktivním režimu. Najde totiž vaše moduly, u kterých je již k dispozici novější verze.

cpan> r

Package namespace  installed   latest  in CPAN file
Algorithm::Diff         1.15   1.1901  T/TY/TYEMQ/Algorithm-Diff-1.1901.zip
Apache::AuthCookie      3.06     3.08  M/MS/MSCHOUT/Apache-AuthCookie-3.08.tar.gz
...

Chcete-li tyto moduly upgradovat, zadejte tento příkaz.

$ perl -MCPAN -e "CPAN::Shell->install(CPAN::Shell->r)"

Příkaz autobundle vypíše všechny instalované moduly a zapíše je do souboru ~/.cpan/Bundle/Snapshot_RRRR_MM_HH_VV.pm. Pomocí něj lze na jiném stroji instalovat tutéž konfiguraci.

V dokumentaci na CPAN(3pm) je o modulu CPAN mnohem více. Rozhodně se vyplatí ji alespoň zběžně přelétnout

Dokumentace k modulům

Moduly jsou zdokumentovány ve formátu POD přímo v souboru s modulem. Během instalace modulu se POD konvertuje na formát manuálových stránek troff. Informace o modulu CPAN získáme jednoduše příkazem man.

$ man CPAN

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



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

30.1.2015 7:19 /MaReK Olšavský
PgSQL je ortodoxní databáze, implementace SQL se striktně řídí standardy, ale vývojáři se nebrání ani novým přístupům. Přísně relační databázi je možné využít i jako NoSQL úložiště.
Přidat komentář

30.1.2015 7:19 /MaReK Olšavský
The Document Foundation vydala LibreOffice 4.4. Vývojáři zapracovali na GUI, zlepšili kompatibilitu s OOXML a vylepšeními prošla i kvalita kódu.
Přidat komentář

30.1.2015 7:19 /MaReK Olšavský
Největší využití technologie Adobe Flash bylo, velmi pravděpodobně, na službě YouTube. Po přechodu na HTML5 se už regulerně objevují hlasy vysvětlující co bylo na Flashi špatně a proč neuspěl. Pamatujete doby, kdy jsme používali i jeden Firefox ve Wine, jen proto, aby šel Flash?
Přidat komentář

29.1.2015 7:31 /MaReK Olšavský
„Nevěřím žádné statistice, kterou jsem sám nezfalšoval“ - Joseph Goebbels. V diskuzích kolem likvidace internetové anonymity (Tor) používalo americké ministerstvo spravedlnosti i nereálná čísla o 80 % podílu dětské pornografie na provozu.
Komentářů: 1

29.1.2015 7:31 /MaReK Olšavský
Dost zajímavý; a pro leckoho nestravitelný článek; napsala Vita Loginova. Vysvětluje multiasking v jádře GNU/Linuxu. BTW: Pokud se chcete procvičit v ruštině - originál.
Přidat komentář

29.1.2015 7:31 /MaReK Olšavský
Výkon Raspberry-Pi „nutí“ programátora myslet při ladění programu na optimalizaci. Na stránkách časopisu Linux User je článek věnovaný cProfile (kterýžto profiler není výsadou R-Pi).
Přidat komentář

28.1.2015 12:29 /Ondřej Čečák
Svým hlasováním můžete ovlivnit program konference InstallFest 2015. Hlasujte do 30. 1.
Přidat komentář

28.1.2015 7:18 /MaReK Olšavský
Chyba GHOST, v glibc, existovala od listopadu 2000. Nyní je opravena a Qualis vydal podrobnější informace o rizicích.
Přidat komentář

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

> Poslední diskuze

30.1.2015 13:16 / Petr Ježek
Churchill

27.1.2015 12:58 / Ladislav Kulatý
Re: Mazání adřářů v linuxu pro IP kamery

26.1.2015 23:57 / Sinuhed
Re: Mazání adřářů v linuxu pro IP kamery

26.1.2015 11:05 / Sinuhed
Re: Mazání adřářů v linuxu pro IP kamery

26.1.2015 8:33 / Ladislav Kulatý
Re: Mazání adřářů v linuxu pro IP kamery

Více ...

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