Funções

Você cria uma sub-rotina com a palavra sub. Todas as variáveis passadas para a sub-rotina chegam em uma matriz chamada _. Portanto, o código a seguir funciona:
     show ('gato', 'cachorro', 'enguia');
              sub show
           {
                  for ($i = 0; $i <= $#_; $i++)
                  {
                    print $_[$i], "n";
                  }
           }  

Lembre-se de que $# exibe o índice mais alto na matriz (o número de elementos menos 1), assim $#_ é o número de parâmetros menos 1. Se você gosta desse tipo abstração, então irá adorar o PERL.

Você pode declarar variáveis locais em uma sub-rotina com a palavra local, como em:

     sub xxx
            {
                    local ($a, $b, $c)
                    ...
            } 

Você também pode chamar uma função usando &, como em:

     &show ('a', 'b', 'c'); 

O símbolo & é requerido somente quando há uma ambigüidade, mas alguns programadores o usam sempre.

Para retornar um valor de uma sub-rotina, use a palavra-chave return.