|
Поиск по сайту:
Главная
О проекте
Web-мастеру
HTML & JavaScript
SSI
Perl
PHP
XML & XSLT
Unix Shell
MySQL
Безопасность
Хостинг
Другое
|
|
Написание модулей CGI
Язык Perl очень широко используется при написании исполняемых модулей CGI (Common Gateway Interface) для Web. Это обусловлено прежде всего тем, что Perl предоставляет разработчикам простые и удобные средства обработки текста и взаимодействия с базами данных. Наша цель - лишь дать пример использования Perl для написания CGI-модуля. Рассмотрим простую подпрограмму разбора входного потока CGI-программы (при передаче параметров используется метод POST ).
#!/usr/local/bin/perl
sub Print {
$len = 100;
$buf = "";
read(STDIN, $buf,$len);
# считываем из стандартного потока ввода
# в переменную $buf количество символов
# $len
@ar = split(/[&=]/,$buf);
# разбиваем строку в массив строк,
# разделителями служат & и =.
$output = "Content-type: text/html\n\n
# посылает тип MIME передаваемого документа
<HTML><HEAD><TITLE>Result</TITLE></HEAD>
<BODY BGCOLOR=\"#FFAAAA\">
<H1>Hi there</H1><HR><BR>";
$i = 0;
while ($i <= $#ar) {
$ar[$i] =~ s/\+/ /g;
# заменяем в элементах массива + на пробел
$output .= "$ar[$i]\n";
# конкатенация переменной $output с
# элементом массива
$i++; }
$output .="<HR></BODY></HTML>";
# завершаем HTML страницу
print $output;
}
eval &Print;
# выполняем подпрограмму осуществляющую
# считывание, обработку и вывод информации
В данном примере был проиллюстрирован случай считывания параметров из входного потока. Если параметры передаются CGI-модулю в командной строке, то они помещаются в служебный массив @ARGV . Например, если параметры пишуться в URL:
http://www.host.ru/cgi-bin/name.cgi?123+resource+time+12 .
Как видно из примера, написать CGI-модуль на Perl совсем не сложно. Существуют также различные модули для облегчения написания CGI. Документацию по ним и сами модули доступны на сервере www.perl.com
[Назад]
[Содержание]
[Вперед]
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|
|
|