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



         

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


%EXPORT_TAGS,

Функции header (), start_html О , hi () ЯВЛЯЮТСЯ функциями модуля CGI. Они будут рассмотрены ниже.

При использовании объектно-ориентированного интерфейса в директиве use вызывающей программы не нужно указывать список импортируемых имен функций. В этом случае взаимодействие с модулем CGI осуществляется через объект класса CGI, который нужно создать в вызывающей программе при помощи конструктора new (). Объектно-ориентированный вариант приведенного выше фрагмента выглядит следующим образом:

#!/usr/bin/perl

use CGI;

Squery = new CGI;

print $query->header(),

$query->start_html {'Пример формы'),

$query->hl ('Пример формы' ) ,

Замечание

Функции модуля CGI.pm являются методами класса CGI. Для того чтобы их можно было вызывать и как функции, и как методы, синтаксис не требует в качестве обязательного первого параметра указывать объект класса CGI. Поэтому в качестве функций к ним можно обращаться обычным образом, а как к объектам — только используя форму $object->method ().

Модуль CGI, как мы отметили выше, содержит большой набор методов, и в наши планы не входит их подробное изучение. Документация, входящая в состав самого модуля, достаточно подробно описывает его компоненты. Чтобы получить представление о работе модуля CGI, создадим с его помощью небольшой сценарий. Для этого вернемся к рассмотрению формы из примера 15.1.

Будем для определенности использовать традиционный процедурно-ориентированный интерфейс. Рассмотрим следующий сценарий.

#!/usr/bin/perl

use CGI qw(:standard);

print header;

print start_html('Пример формы'),

h2('Регистрационная страница Клуба любителей фантастики'),

'Заполнив анкету, вы сможете пользоваться нашей электронной

"^библиотекой.',

br,

start_form,

"Введите регистрационное имя:",textfield('regname'),

P.

"Введите пароль: ", password_field(-name=>'passwordl',

-maxlength=>'8'),

Р,

"Подтвердите пароль: ", password_field(-name=>'password2',

-maxlength=>'8'),




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