PROCEDURY
W większości obecnie stosowanych języków programowania możliwe jest zapisanie części wykonywanego kodu programu w postaci odrębnego bloku i wywoływanie go w dowolnym momencie, wtedy kiedy będzie to potrzebne. Części kodu w ten sposób zapisane nazywane są procedurami. Perl w tym przypadku nie jest gorszy, również pozwala definiować procedury. W przypadku tego języka funkcje i procedury to jedno i to samo. Aby poprawnie zadeklarować procedurę należy użyć polecenia:
sub ETYKIETA;
Gdy funkcje zostały już napisane można ich używać korzystając z poleceń:
&ETYKIETA;
Procedury, które są już zdefiniowane w innych pakietach a są potrzebne w czasie pisania programu można wywołać używając następującego polecenia:
use NAZWA_PAKIETU qw(ETYKIETA1 itd. itd.);
Aby funkcja mogła spełniać powierzone jej zadanie konieczne jest dostarczenie jej danych, na których będzie przeprowadzała operacje. Przekazywanie danych z programu do procedury odbywa się bardzo prosto: wszystkie wykorzystywane parametry są przekazywane jako lista wartości skalarnych. W taki sam sposób funkcja zwraca dane po wykonaniu operacji.
Wszystkie te parametry przekazywane i zachowywane są w tablicy oznaczonej jako Korzystając z tego można na podanej liście argumentów wykonywać dowolne operacje dotyczące
normalnej tablicy. Aby wywołać poszczególne elementy tablicy stosuje się więc polecenie $_[0],
$_[2] lub np.
Jeśli potrzebne jest opuszczenie procedury w konkretnym momencie a zarazem wyświetlenie aktualnej wartości parametru na którym wykonywane są operacje można wykorzystać polecenie return, które działa właśnie w ten sposób. Z reguły nie jest ono jednak potrzebne, gdyż aktualną wartością jaką zwraca procedura jest wartość ostatnio wykonanej linii procedury.
Doskonałym przykładem zastosowania procedury jest np. przygotowany wcześniej algorytm porównania dwóch liczb. Zmienna w stosunku do której będzie wykorzystywana procedura będzie zawierała wartość większej z liczb: sub porównanie {
if ($_[0] > $_[1])
{
$_[0];
else
$_[1];
} $liczba = Sporownanie(10,11);
Zmienna Sliczba ustali się po porównaniu dwóch liczb (10,11) podanych jako parametry przy wywoływaniu procedury. W tym przypadku Sliczba będzie miała więc wartość 11.