Piątek 11 Kwiecień 2025r. Godz 00:00:00      
Postów: 251      

Perl - 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, jaką stworzyliśmy, nie reaguje w żaden sposób na przekazywane jej zmienne.

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

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

Stworzone przez nas procedury same 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 odnaleziona większa z dwóch
    # liczb i umieszczona w zmiennej $wieksza