Главная страница статей --> Советы по фотошопу, графике и хитрости в построении php кода

Модуль CGI.pm

Источник: realcoding.net

Модуль 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 - это текст находящийся между открывающим и закрывающим тэгами.

Любой из указанных параметров может опускаться. Рассмотрим все изложенное на примерах.

print h1() # Печатает <H1>

print h1(Hello,world); # Печатает <H1>Hello world</H1>

print h1({-align=>left}); # Печатает <H1 ALIGN="LEFT">

print h1({-align=>left},Hello); # Печатает <H1 ALIGN="LEFT">Hello</H1>

Некоторые функции в 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/); # Переадресовать браузер к другой странице.

# Пример известной нам функции выполняющей функции сразу нескольких тэгов

print start_html(-title=>Hello World, # Заголовок документа

-author=>flp@mail.ru, # Автор

-meta=>{keywords=>world hello flp, # Ключевые слова

copyright=>copyright 2000 Philip Koryaka}, # Авторские права

-style=>{src=>/styles/style1.css}, # Стиль для документа

-BGCOLOR=>blue); # BGCOLOR для документа

print header(-Refresh=>10; URL=http://www.perl.ru, # Обновление документа

-cookie=>$cookie, # Устанавливаем Cookie

-type=>image/gif, # Тип документа

-expires=>+3d); # Срок годности

# Следующий тэг создает список радио-кнопок (аналог <INPUT TYPE=RADIO>):

print radio_group(name=>OS,

values=>[Unix,Windows,Macintosh],

default=>Unix);

# Следующий тэг создает поле ввода пароля (аналог <INPUT TYPE=PASSWORD>):

password_field(-name=>secret,

-value=>starting value,

-size=>50,

-maxlength=>80);

# Аналогично данной функции используются функция file_field

Сильной стороной CGI является использование параметров, передаваемых скрипту. Функция param() взращает значение любого из параметров.

Вызовем скрипт script.cgi?name=bob〈=en&opt=1&opt=4&opt=8

# Переменной $a присваиваем значение параметра name ($a=bob)

$a = param(name);

# Переменной $a присваиваем значение параметра lang ($a=en)

$a = param(lang);

# Массиву @a присваиваем значения параметра opt (@a[0]=1; @a[1]=4; @a[2]=8;)

@a = param(opt);



Похожие статьи:
- Повышаем индекс цитирования или выгодный обмен ссылками
- Немного о OPML (формат для создания списка RSS каналов)
- Данные, их представление и формы пользовательского интерфейса в XML
- XML Sapiens - магия оживления сайтов
- Сжатие страниц на PHP
- Возвращение имени хоста вместо IP-адреса в переменной REMOTE_HOST
- Взаимодействие с Oracle на Perl
- *.JS, когда грузиться думаешь?
- Альтернатива MIME::Parser и Email::Simple
- Image::Magick или фотошоп для perl
- Приватность в Интернет
- Шаблоны документов и Perl
- Классы и объекты в РНР со Штирлицом и Мюллером


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |

Контакты
Редакция:
[0.001]