Подпрограммы
Подпрограммы.
- Private переменные
- Переменные типа local
- Прототипы (prototypes)
- Ссылка как параметр
- Переопределение встроенных функций
- Автозагрузка
Для применения подпрограммы ее необходимо определить либо в текущем модуле (файле), либо во внешнем модуле (файле). Подпрограммы определяются и декларируются следующим образом:
- sub имя; - Только декларация. Определение ниже.
- sub имя (прототипы); - То же но с декларацией параметров.
- sub имя блок; - Декларация и определение.
- sub имя (прототипы) блок; - То же, но с параметрами.
Для определения динамической анонимной подпрограммы можно указать:
- $переменная = sub блок;
Для импортирования подпрограмм из других модулей используйте:
- use модуль qw(подпрограмма1 подпрограмма2 );
Вызов подпрограммы:
имя(список параметров); # символ '&' можно не указывать. имя список; # Если подпрограмма уже декларирована. &имя; # Параметры в @_Все параметры передаются подпрограмме как массив @_. Соответственно $_[0] - первый параметр, $_[1] - второй и т.д. Массив @_ - локальный, но он содержит адреса параметров, поэтому можно изменять значение параметров. Возвращаемое значение подпрограммы - результат последнего оператора. Это может быть как скаляр так и массив. Можно принудительно возвращать результат используя функцию return().
Подпрограмму можно вызвать, используя префикс '&' перед именем подпрограммы. Если подпрограмма предварительно продекларирована, то префикс и скобки можно опустить.