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