Определение пользовательской функции

Определение пользовательской функции состоит из ключевого слова sub, имени функции (без знака &) и заключенного в фигурные скобки блока программного кода, снабженного отступом. Блок содержит тело функции:

sub marine {
$n += 1; # Глобальная переменная $n
print "Hello, sailor number $n!\n";
}

Определения пользовательских функций могут находиться где угодно в тексте программы, но программисты с опытом работы на C и Pascal обычно размещают их в начале файла. Другие предпочитают размещать их в конце, чтобы основная часть кода находилась в начале файла. Выбирайте сами. В любом случае опережающие объявления обычно не нужны. Определения пользовательских функций глобальны; без особых ухищрений создать приватную пользовательскую функцию невозможно. Если в программе присутствуют два определения функций с одинаковыми именами, первое определение заменяется более поздним.

Обычно это считается проявлением плохого стиля или признаком того, что программист по сопровождению кода окончательно запутался. Как вы могли заметить из предыдущего примера, в теле функции могут использоваться любые глобальные переменные. Все переменные, встречавшиеся нам ранее, были глобальными; иначе говоря, они были доступны из любой части программы. Блюстителей чистоты языка глобальная доступность приводит в ужас, но группа разработчиков Perl вооружилась факелами и вилами и изгнала их из города много лет назад. О том, как создать приватную переменную, рассказано в разделе «Приватные переменные в пользовательских функциях» далее в этой главе.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
Аргументы
Возвращаемые значения
Вызов пользовательской функции
Вызов функции без &
Директива use strict

Вернуться в раздел: Perl / 3. Пользовательские функции