05 - Funkcie v jazyku Perl

Tak ako v hociktorom inom programovacom jazyku aj v Perle sa mozu pouzivat funkcie. Ich pouzitie je velmi jednoduche, ale skryva v sebe par mensich zaludnosti na ktore si treba zvyknut a vsetko bude v pohode.

Zapis funkcie

Funkcia ma podobne ako premenne na zaciatku specialny znak. Pred kazdou funkciou (aby som bol presny tak nie pred kazdou,ale toto je mimo hranic tohoto tutorialu) musi byt znak &.
Priklad:
      &vyratajObnsahKruhu;
      &vypisMena( @zoznamZiakov );
Telo funkcie ma tvar:

      sub &menoFunkcie {
      }
Tak toto bola ta jednoduchsia cast, teraz treba spomenut nieco o tom ako sa v perl predavaju parametre funkciam. Najdolezitejsie bude zrejme upozornenie,ze funkcie maju premenlivy pocet argumentov. To znamena,ze pri pisani funkcie sa ich pocet nespecifikuje ( toto je vyhodne,ked chcem napisat napr.funkciu ktora vrati maximum z N zadanych cisel )

Argumenty funkcii

Na odchytenie parametrov, s ktorymi bola fukcia volana sluzi standardna premenna @_. Sem sa ulozia vsetky parametre po volani funkcie. Je to pole, takze s nou vnutri tela funkcie mozeme pracovat ako s obycajnym polom.Pozor nato,ze ak sa preda viac poli ako argument ,tak sa vramci konvencie v Perle spoja do jedneho !!!!

Navratova hodnota

Funkcie mozu vratit hodnotu :) sluzi na to prikaz return hodnota. Ak prikaz return nie je uvedeny, tak sa ako navratova hodnota berie hodnota posledneho uvedeneho vyrazu.

Directiva my a local

Nato, aby sme oznacili premennu ako lokalnu a pristupnu len vramci danej funkcie sluzi directiva my. Ak chceme,aby bola premenna pristupna nielen vramci funkcie, ale aj vo funkciach volanych touto funkciou pouzijeme directivu local.