Мониторинг обменных курсов валют
18c0693f

Написание модулей 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. Документацию по ним и сами модули доступны на сервере






Самый выгодный курс обмена валюты