|
|||||||||||
Vlastnφ funkce v PERLuJako ka₧d² programovacφ jazyk, i PERL podporuje definovßnφ vlastnφch funkcφ. Funkce se definuje kdekoliv v texu a p°i b∞hu programu je prost∞ ignorovßna a₧ do tΘ doby ne₧ je na nφ odkaz. V²hodou PERLu je tekΘ to, ₧e m∙₧eme volat i funkce, kterΘ jsou definovßny pozd∞ji - odkaz je tedy blφ₧e zaΦßtku programu, ne₧ definice funkce. PERL se v tom p°φpad∞ podφvß na zbytek programu aby funkci naÜel. Pokud jφ nenajde hlßsφ chybu. Definice funkce m∙₧e vypadat nßsledovn∞:sub jmΘno { p°φkazy . p°φkazy } Pokud chceme, aby funkce dostßvala n∞jakΘ parametry, nemusφme nic definovat. Pouze staΦφ vyu₧φt standartnφ prom∞nΘ $_ nebo @_, kterß obsahuje p°edanΘ parametry jako skalßr nebo jako pole. Pokud je parametr∙ vφce, je nutno pou₧φt pole. Rozbor pole na jednotlivΘ prvky lze provΘst nßsledovn∞: sub secti { ($a,$b) = @_; return ($a+$b); } Pokud pou₧φvßme ve funkci n∞jakΘ promn∞nΘ, m∙₧eme je definovat jako lokßlnφ a to tak, ₧e p°ed n∞ napφÜeme klauzuli my. sub secti { my ($a,$b) = @_; return ($a+$b); } Vlastnφ volßnφ funkce se provßdφ obdobn∞ jako u standartnφch funkcφ PERLu, avÜak p°ed jmΘno se v₧dy pφÜe znak &. Pokud tento znak zapomenete, PERL chybu neohlßsφ, ale funkce se nezavolß. Pokud mß funkce parametry, pφÜeme je do kulat²ch zßvorek za jmΘno a odd∞lujeme Φßrkami. Test na parametry se neprovßdφ. Je tedy jedno, jestli funkce dostane v∙bec n∞jakΘ parametry a u₧ ·pln∞ je jedno jakΘho typu. |
|||||||||||
|