На этом шаге мы рассмотрим способы вызова подпрограммы.
Мы знаем, что принадлежность к тому или иному типу определяется префиксом имени:
&name args; &name(args); &name;
Здесь args обозначает список аргументов подпрограммы. Если список аргументов отсутствует, вместо него используется специальный массив @_.
Если после имени подпрограммы следуют скобки, префикс & можно опустить:
name(args); name() ;
Если до обращения к ней подпрограмма была объявлена или импортирована, то скобки также можно опустить:
sub name {. . .}; . . . . name args; . . . . name;
Если подпрограмма вызывается через ссылку на нее, префикс является обязательным:
$subref = sub {. . .}; . . . . &subref(args); . . . . &subref;
Подпрограмма может быть использована в выражении как функция, возвращающая значение. По умолчанию значением подпрограммы является последнее вычисленное в ней выражение. Его можно изменить, указав явно в качестве аргумента функцию return() в любой точке подпрограммы. Возвращаемое значение может быть скалярной величиной или массивом.
На следующем шаге мы рассмотрим локальные переменные в подпрограммах.