Next Previous Contents

9. Procedury.

Jak w prawie każdym języku tak i w Perlu możemy zapisać część kodu w postaci procedur i odwoływać się do nich w późniejszym biegu programu. Procedury systematyzują i skracają kod programu. W Perlu składają się one ze słowa kluczowego sub i następującego po nim bloku operacji. Przykładowo:


sub moja
{
        print "To moja procedura.";
}

Tak zapisaną procedurę możemy wywoływać w dalszej części programu:


while (true)             # pętla nieskończona
{
        &moja;           # wywołanie procedury
}

Do procedury możemy przekazywać zmienne pochodzące z innych części programu, wywołując ją w następujący sposób:


&moja(12);          # wywołanie procedury z jednym parametrem
&moja(12, $_);      # wywołanie procedury z dwoma parametrami

Prosta procedura, którą stworzyliśmy nie reaguje w żaden sposób na przekazywane jej zmienne.

We wnętrzu procedury możemy się dostać do przekazanych jej zmiennych poprzez tablicę o nazwie @_:


sub moja2
{
        print "Procedura została wywołana z następującymi parametrami :\n";
        print @_;
}

Stworzone przez nas procedury także zwracają wartości.


sub moja3
{
        if ($_[0] > $_[1])
        {
                $_[0];
        }
        else
        {
                $_[1];
        }
}

Procedura moja3 wywołana z dwoma zmiennymi sprawdza, która z nich jest większa i zwraca jej wartość. A oto jej konkretne zastosowanie:


$wieksza = &moja3(12, 32);      # zostanie odnaleźona większa z dwóch
                                # liczb i umieszczona w zmiennej $wieksza


Next Previous Contents