Tvorba modulů
Modul je soubor obsahující to samé, co ostatní programy napsané v Perlu. Znamená to, že obsahuje proměnné, definice podprogramů, různé deklarace, příkazy atd. Aby byl modul modulem, je třeba udělat něco navíc — říct interpretu, že se jedná o modul, a specifikovat rozhraní pro okolí modulu.To, že se jedná o modul, je dáno umístěním stejnojmenného balíku v souboru s příponou .pm.
Rozhraní modulu je možné poskytnout dvěma způsoby.
1. Definovat množinu symbolů, které lze v jiných jmenných prostorech importovat, neboli řekneme, která jména mají být importována do aktuálního prostoru jmen, a dále je tam bude možné používat bez plné specifikace.
2. Napsat modul objektově orientovaným způsobem a komunikovat pouze prostřednictvím volání metod objektů.
Oba způsoby lze kombinovat — modul může být napsán objektově orientovaným způsobem a zároveň může umožňovat import některých symbolů. Vždy je ovšem očekáváno, že zaváděný soubor vrátí pravdivou hodnotu, která indikuje, že vše proběhlo v pořádku. Proto by posledním výrazem v příslušném souboru měl být pravdivý výraz. Často Používá se příkaz "return 1;" nebo pouze "1; ". Pokud by nebylo zajištěno, že poslední hodnota v modulu není pravdivá, bylo by to považováno za chybu.
// soubor Podil.pm
package Podil;
use Carp;
sub podil {
my ($x, $y) = @_;
if ($y) { return $x/$y; }
else { carp 'Nelze dělit nulou.'; }
}
1;
// soubor podil
use Podil;
print Podil::podil(1, 0);
// vytiskne 'Nelze dělit nulou. at podil line 2
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