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