Иллюстрированный самоучитель по Perl



         

Модуль CGI.pm - часть 3


Р/-

"Ваш возраст",

Р'

radio_group(-name=>'age',

-value=>['lt20','20_30', '30_50', 'gt50'],

-default=>'Lt20',

-labels=>{'It20'=>'flo 20', I 20_30'=>'20-30', 4> '30_50'=>'30-50','gt50'=>'старше 50'}),

br,br,

"На каких языках читаете:",

checkbox_group(-name=>'language', 4> -values=>

4>

['русский', 'английский' ,'французский', 'немецкий'],

^ -defaults=>['русский']), br,br,

"Какой формат данных является для Вас предпочтительным ", Ьг, popup_menu(-name=>'type',

-values=>['Plain text','PostScript','РОГ']), br,br, \

N

"Ваши любимые авторы:", x -~-_.

br,

textarea(-name=>'wish', -cols=>40, -rpws=>3),

br,

subrai t{-name=>'OK'), reset{-name=>'Отменить'),

end_form,

hr;

if (paramO) { print

"Ваше имя: ",em(param('regname')),

P,

"Ваш возраст: ", em(param('age')),

P, '

J

"Вычитаете на языках: ",em(join(", ",param('language'))),

P,

"Предпочтительный формат данных для Вас: ",em(param ('type')),

P,

"Ваши любимые авторы: ", em(join(", ",param('wish 1 ))),

hr; } print end_html;

Обсудим приведенный текст. Директива use, как мы отметили выше, осуществляет импорт стандартного набора функций модуля CGI.pm в пространство имен вызывающего пакета. В самом сценарии на месте тэгов исходного HTML-кода стоят обращения к функциям модуля: каждому тэгу соответствует вызов функции. Вызов функции модуля CGI можно осуществлять двумя способами: с использованием позиционных параметров print textfield('regname','начальное значение',50,80); с использованием именованных параметров

print textfield(-name=>'regname',

-default=>'начальное значение",

-size=>50,

-maxlength=>80);

Обработка позиционного параметра внутри функции зависит от его места в списке параметров. Обработка именованного параметра не зависит от его места в списке параметров. Функции модуля CGI могут иметь большое число параметров, порядок следования которых трудно запомнить, поэтому в этом модуле была реализована возможность вызова функций с именованными параметрами. Кроме того, применение именованных параметров делает текст программы более понятным. В тексте примера функции вызываются с именованными параметрами, если параметров больше одного. Познакомимся с функциями, использованными в примере.




Содержание  Назад  Вперед