Использование технологий WWW для доступа к базам данных

       

Подпрограммы


Описать и использовать подпрограмму можно несколькими способами:

  • sub NAME; - подразумевает описание в дальнейшем тела подпрограммы.

  • sub NAME BLOCK - непосредственное описание.

  • $subref = sub BLOCK - анонимное описание.

  • use PACKAGE qw(NAME1, NAME2, NAME3) - включение подпрограмм из модулей.

    Вызвать подпрограмму можно тоже несколькими способами:

    1. &NAME(LIST) - скобки обязательны для & формы.

    2. NAME(LIST) - & не обязательно со скобками.

    3. NAME LIST - скобки можно опустить в случае предварительного описания

      или включения подпрограммы из модуля.

      Аргументы передаются подпрограмме в виде локального массива @_, его элементы

      являются ссылками на реальные скалярные параметры. Подпрограмма возвращает

      значение, полученное в результате исполнения последнего оператора подпрограммы.

      Как уже говорилось, подпрограмма вызывается использованием префикса & перед

      ее именем, в Perl 5 этот префикс не обязателен. Пример:

      sub MAX {



      my $max = pop(@_);

      foreach $foo (@_) {

      $max = $foo if $max < $foo;

      }

      $max;

      }

      ...

      $bestmark = &MAX(1,2,3,4,5);

      Подпрограмма может вызываться рекурсивно. Если подпрограмма вызывается с использованием

      & формы, то список аргументов необязателен.

      Если вы хотите создать внутри модуля его собственную, невидимую снаружи подпрограмму,

      то описание должно быть анонимным:

      my $subref = sub {...}

      &$subref(1,2,3);



      Содержание раздела