Создание серверных приложений на языке PERL

       

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



Урок 17. Подпрограммы, прототипы

Для применения подпрограммы ее необходимо определить либо в текущем модуле (файле), либо во внешнем модуле (файле). Подпрограммы определяются и декларируются следующим образом:

  • sub имя; - Только декларация. Определение ниже.
  • sub имя (прототипы); - То же но с декларацией параметров.
  • sub имя блок; - Декларация и определение.
  • sub имя (прототипы) блок; - То же, но с параметрами.

Все параметры передаются подпрограмме как массив @_. Соответственно $_[0] - первый параметр, $_[1] - второй и т.д. Массив @_ - локальный, но он содержит адреса параметров, поэтому можно изменять значение параметров. Возвращаемое значение подпрограммы - результат последнего оператора. Это может быть как скаляр так и массив. Можно принудительно возвращать результат используя функцию return().

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

Для применения переменных доступных только внутри блока или подпрограммы необходимо определить их с помощью функции my(список). Если переменная одна, то скобки можно опустить.

Для тех кто еще не понял о чем идет речь:
Процедуры и функции представляют собой важный инструмент Perl-а, позволяющий писать хорошо структурированные программы. В структурированных программах обычно легко прослеживается основной алгоритм, их нетрудно понять любому читателю, они проще в отладке и менее чувствительны к ошибкам программирования. Все эти свойства являются важной особенностью процедур (функций), каждая из которых представляет собой во многом самостоятельный фрагмент кода, связанный с основной программой лишь несколькими параметрами. Самостоятельность процедур дает возможность без особых изменений в основной программе изменять код процедуры.

Процедурой в Perl называют особым образом оформленный участок кода со своим собственным именем. Упоминание этого имени в программе приводит к активации процедуры. Сразу после активации процедуры начинают выполняться входящие в неё операторы. После выполнения последнего оператора, основная программа продолжает свое выполнение дальше.

Для обмена информацией между основной программой и процедурой используются параметры вызова. Для передачи информации от процедуры программе, внутри процедуры используется оператор return.



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