#!C:/usr/local/apache/Perl/bin/perl.exe
# в первой строке CGI-программы указан путь к perl
use CGI qw/:standard/; # применяем стандартные средства CGI
print # выводим в выходной поток
header(-charset=>'windows-1251'), # в кодировке CP1251:
start_html('Гостевая книга'), # шапку страницы,
h3('Здесь Вы можете оставить свой отзыв'),# заголовок,
start_form, # форму, в ней
"Имя: ", # надпись,
textfield(-name=>'nick', size=>8), p, # поле ввода,
"Э-почта: ", # надпись,
textfield(-name=>'email', size=>32), p, # поле ввода,
"Комментарий: ", p, # надпись,
textarea(-name=>'comments', # область ввода
-rows=>5, -columns=>50), p, # из 5 строк на 50 колонок,
submit('Отправить'), # кнопку,
end_form, # конец формы
hr, "\n"; # и горизонтальную черту
# далее проверяем, были ли присланы данные формы
if (param) { # если присланы данные - параметры формы
print # выводим:
a({href=>"mailto:".param('email')}, # ссылку на E-mail
param('nick')), # и имя, а также
" пишет: ", p, param('comments'), p, # комментарий
hr,"\n"; # и горизонтальную черту
}
print end_html; # оформляем конец страницы
При первом выполнении эта программа выводит пустую HTML-форму, а после того как форма заполнена и данные формы отправлены на сервер, на странице после формы выводится последний полученный комментарий. В результате будет сгенерирована web-страница, приведенная на рис. 18.1.
Рис. 18.1. Результат выполнения CGI-программы
Отлично протестированные подпрограммы стандартной библиотеки CGI выполняют все действия по созданию правильно оформленных web-страниц. Они скрывают от программиста трудности и тонкости при преобразовании параметров и обработке данных форм. Web-страницы можно формировать программно без использования разметки на языке HTML. Библиотека CGI также имеет объектно-ориентированный интерфейс со всеми необходимыми классами и методами для работы с объектами HTTP-запросов в CGI-программах.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии