Шаг 110.
Вызов подпрограммы

    На этом шаге мы рассмотрим способы вызова подпрограммы.

    Мы знаем, что принадлежность к тому или иному типу определяется префиксом имени:

Префиксом функции является символ "&". К любой подпрограмме можно обратиться, указав ее имя с префиксом &:
  &name args; 
  &name(args); 
  &name;

    Здесь args обозначает список аргументов подпрограммы. Если список аргументов отсутствует, вместо него используется специальный массив @_.

    Если после имени подпрограммы следуют скобки, префикс & можно опустить:

  name(args); 
  name() ;

    Если до обращения к ней подпрограмма была объявлена или импортирована, то скобки также можно опустить:

  sub name {. . .}; 
  .   .   .   .
  name args; 
  .   .   .   .
  name;

    Если подпрограмма вызывается через ссылку на нее, префикс является обязательным:

  $subref = sub {. . .}; 
  .   .   .   .
  &subref(args);
  .   .   .   .
  &subref;

    Подпрограмма может быть использована в выражении как функция, возвращающая значение. По умолчанию значением подпрограммы является последнее вычисленное в ней выражение. Его можно изменить, указав явно в качестве аргумента функцию return() в любой точке подпрограммы. Возвращаемое значение может быть скалярной величиной или массивом.

    На следующем шаге мы рассмотрим локальные переменные в подпрограммах.




Предыдущий шаг Содержание Следующий шаг