Модуль CGI предназначен для упрощения создания HTML документов скриптом написанным на Perlе. Модуль CGI подключается к вашему скрипту на perl, так же, как и другие модули:
use CGI;
Есть два способа использования модуля CGI: это объектно-ориентированный стиль и как набор функций. при использовании объектно-ориентированного стиля, вы создаете один или несколько объектов, а потом используете их методы для формирования HTML-страницы. Вот пример использования объектно-ориентированного стиля:
#!/usr/bin/perl
use CGI; # Подключить модуль CGI
$q = new CGI; # Создать новый объект CGI
print $q->header
# Вызов метода header, который печатает HTTP заголовок
# это вместо print "Content-Type: text/html\n\n"
$q->start_html(Hello World)
# Печатаем начало документа (тэги <HEAD> и <BODY>),
# при этом вставляем строчку <TITLE>Hello World</TITLE>
$q->h1(Hello World)
# Печатаем заголовок первого уровня
$q->end_html;
# Печатаем конец документа (</BODY> </HTML>)
Использовать CGI как набор функций, еще проще, в этом случае, вам не нужно создавать новый объект, вы просто используете функции CGI. Следующий пример демонстрирует использование CGI как набор функций, в результате его выполнения будет выдана страница аналогичная странице выдаваемой в предыдущем примере.
#!/usr/bin/perl
use CGI qw/:standard/; # Загружаем стандартные процедуры CGI
print header
# Печатаем HTTP заголовок
# это вместо print "Content-Type: text/html\n\n"
start_html(Hello World)
# Печатаем начало документа (тэги <HEAD> и <BODY>),
# при этом вставляем строчку <TITLE>Hello World</TITLE>
h1(Hello World)
# Печатаем заголовок первого уровня
end_html;
# Печатаем конец документа (</BODY> </HTML>)
Синтаксис функций в CGI таков:
name({-atr=>value, -atr2=>value2}, text)
name - это имя функции, которое как правило совпадает с именем интересующего тэга. О тэгах, имена которых не совпадают с именами соответствующих функций, речь пойдет дальше.
atr и atr2 - это имена атрибутов данного тэга.
value и value2 - это значения тэгов.
text - это текст находящийся между открывающим и закрывающим тэгами.
Любой из указанных параметров может опускаться. Рассмотрим все изложенное на примерах.
Некоторые функции в CGI используются парами, подобно закрывающим и открывающим тэгам в HTML, например:
start_html и end_html (<HTML><HTML/>)
start_table и end_table (<TABLE></TABLE>)
start_ul и end_ul (<UL></UL>)
start_form и end_form (<FORM></FORM>)
Вы наверное уже успели заметить, что названия функций аналогичны названиям тэгов HTML. В этом и заключается простота в освоении CGI, достаточно знать HTML, чтобы через 30 мин. свободно использовать CGI. Вот список функций, имена которых не совпадают с именами тэгов:
print redirect(http://www.perl.ru/); # Переадресовать браузер к другой странице.
# Пример известной нам функции выполняющей функции сразу нескольких тэгов