Perl, Moduly (46.díl)

Napsal O webu (») 28. 7. 2008 v kategorii Programování, přečteno: 1629×
obrazky/logo_perl.jpg

Moduly

Modul je souhrn funkcí, datových struktur a kódu, který lze opětovně používat v různých programech. Souhrn prostředků, které modul poskytuje, je většinou ucelený a souvisí s určitou problematikou. Existují moduly pro práci se soubory, pro práci s databází, webovým rozhraním, pro síťovou komunikaci apod. Modul má zajištěn svůj vlastní prostor pro ukládání jmen a má definováno rozhraní pro své okolí. Na jedné straně modul říká, co svému okolí poskytuje, a na straně druhé si samo okolí říká, co chce z modulu použít.


Samotná distribuce Perlu obsahuje řadu modulů, které nazýváme standardní moduly, a pragmatické moduly. Velké množství modulů pro nejrůznější účely je dostupné ve zdroji CPAN (Comprehensive Perl Archive Network) na adrese http://www.cpan.org.


Zavedení modulu


Aby bylo možné modul použít, je třeba ho nejprve zavést. K tomu slouží vestavěné funkce "use" a "require". Funkce "use" i "require" je možné použít kdekoliv v programu. Rozdíl mezi oběma způsoby je v tom, že "require" se provádí v době běhu programu, tzn. že akce provedené uvnitř vtaženého souboru jsou viditelné až od tohoto okamžiku.Vtažení modulu pomocí "use" probíhá ve fázi překladu, která předchází vlastnímu běhu programu. Proto všechny akce v takto použitém modulu jsou viditelné v rámci celého programu.



// soubor Modul.pm

package Modul;

print 'zavedeno';

// soubor skript.pl

use Modul; //

vytiskne 'zavedeno'

require Modul;

// nevytiskne nic, modul je již jednou zavedený




Import jmen


Rozdíl mezi vtažením modulu pomocí "use" místo "require" je ten, že při použití "use" se navíc automaticky provádí import jmen z modulu. Import symbolů je vytvoření aliasů pro jména nacházející se v modulu. Import probíhá v době překlad, tudíž importovaná jména jsou viditelná v celém jmenném prostoru.


Chceme-li zavádět modul pomocí "require" a zároveň importovat některá jména, musíme funkci "import" volat explicitně:



// proměnná $modul obsahuje jméno modulu

require $modul;

// odstranění přípony .pm

$modul =- s/.pm$//;

// volání funkce import ze zaváděného modulu

$modul->import;


A to by bylo pro dnešek všechno. V dalším díle se podíváme na tvorbu modulů. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.


Autor: Robert Habrman
Štítky: Perl
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel dvě a pět