Вызов подпрограммы

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

Следующая страница Содержание главы


Реклама