Библиотека подпрограмм для работы с CGI-скриптами

Мы пока нигде не обмолвились о том, что Perl предусматривает возможность организовывать подпрограммы — поименованные участки кода, которые можно вызывать многократно.
Подпрограмма определяется следующим образом:
sub имя_подпрограммы
{
код_подпрограммы
}
Все переменные в Perl по умолчанию являются глобальными, т. е. их область видимости распространяется на всю программу в целом.
В подпрограммах мы можем определять локальные переменные, видимые только внутри тела данной подпрограммы. Это можно сделать, используя ключевое слово my.
$i = 5; # Это глобальная переменная
sub my_proc
{
my $j = 10; # Это локальная переменная подпрограммы my_proc
}
Подпрограммы в языке Perl не имеют четкого разделения на процедуры (не возвращающие значений) и функции (возвращающие значения). Любая подпрограмма может возвращать значения; любой подпрограмме может быть передано произвольное количество параметров.
Параметры, передаваемые подпрограммам, сохраняются в специальной переменной — массиве @_. Ниже приведена подпрограмма, читающая три переданных параметра (хотя передать ей мы можем сколь угодно много параметров) и возвращающая их сумму:
sub my_proc
{
my $parameter1 = shift(@_);
my $parameter2 = shift(@_);
my $parameter3 = shift(@_);
my $sum = $parameter1 + $parameter2 + $parameter3;
return $sum;
}
Вызвать эту подпрограмму можно из любого места программы:
$sum = my_proc($a, $b, $c);
Подпрограммы, не возвращающие значений, вызываются следующим образом:
&my_proc;
Perl позволяет включать в код программ фрагменты, хранящиеся в других файлах. Для этого используется директива require:
require '1.pl';
Мы могли бы реализовать функциональность, необходимую CGI-скриптам для работы, в виде собственной библиотеки подпрограмм, которую могли бы использовать все наши приложения. Привожу примерный код такой библиотеки.


© 2008-2018 ОптимизацияВебСайтов.ру


Любое использование текстового и графического контента сайта без активной ссылки на источник не доскается.