Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
perl.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
388.1 Кб
Скачать

Вызов cgi-скрипта

На UNIX-системах программисты могут исполнять скрипты, написанные на языке Perl, как выполнимые файлы. Иными словами, дляних нет необходимости делать что-то специальное для вызова скрипта. На системах, основанных на DOS или Windows, некоторые серверы не исполняют скрипты Perl автоматически. В этом случае вампридется писать пакетный файл, который вызывает команды Perl длязапуска скрипта. Для некоторых систем придется подробнее познакомиться (. документацией по вашему НТTР-серверу относительно запуска скриптов Perl. Большинство серверов HTTP предполагает, чтоскрипты CGI находятся в каталоге под названием cgi-bin. В этомслучае можно вызвать скрипт с помощью URL, подобно следующему:

http://your-domain/cgi-bin/your-script

Примечание: В URL задан каталог cgi-bin, но в действительностискрипт может находиться где угодно в системе. Вы должны определить его расположение при установке сервера HTTP.

Вызов сgi-скрипта в системе unix

Если вы поместили ваш скрипт в каталог cgi-bin и сделали его выполнимым, то пользователь может вызвать скрипт, непосредственно используя URL. Однако необходимо выполнить несколько шагов. Впервую очередь, в начало скрипта необходимо поместить строку, которая идентифицирует файл как программу на языке Perl:

#!/usr/bin/perl

Примечание: Вы должны будете указать в этой строке путь, зависящий от того, где установлен Perl на вашей системе.

Далее необходимо сделать скрипт выполнимым, используя командуchmod:

chmod +x your-srcipt

Вызов скрипта на языке perl из dos и windows

В DOS или Windows скрипты Perl сами по себе не являются выполнимыми самостоятельными программами. Вместо этого необходимозапустить исполнимую программу PERL.EXE, включая имя скрипта наязыке Perl в командной строке. Для упрощения этого процесса можно создать ВАТ-файл для каждого вашего скрипта, который запускает PERL. ЕХЕ с соответствующим файлом, содержащим скрипт. Например, предположим, что ваш ВАТ-файл HELLO.ВАТ содержит следующие команды:

@echo off

perl Hello.pl %1 %2 %3 %4 %5 %6 %7 %8 %9

Также предположим, что скрипт Perl Hello.PL содержит следующие инструкции:

print "Hello, args are '@ARGV'\n";

Как можно видеть, ВАТ-файл просто запускает программуPERL.EXE с указанием скрипта Hello.PL в качестве входной командной строки. Если вы запустите скрипт на языке Perl из Web-сервера, то обнаружите, что большинство HTTP-серверов распознаютскрипты на языке Perl (например, как это делает FolkWeb- сервер),так что нет необходимости в использовании ВАТ-файла. Иными словами, если вы используете HTTP-сервер наподобие FolkWeb, вам нетнадобности делать что-то специальное для вызова CGI-скрипта наязыке Perl. В противном случае может потребоваться создатьВАТ-файл. Если ваша программа-сервер нуждается в ВАТ-файле для выполнения скрипта на языке Perl, вы должны поместить ВАТ-файл (такойкак HELLO.ВАТ) в каталог cgi-bin и туда же - скрипт Perl(Hello.PL).

Создание текста и html-документа с использованием языка perl

Создание текстовых документов с использованием языка Perlпредставляет собой тривиальную задачу. Вам только необходимоудостовериться, что вы поместили правильный НТМL заголовок в начале текстового документа. Например, следующий скрипт создаетпростой текстовый документ, содержащий сообщение Hello, world:

print "Content-type: text/plain\n\n";

print "Hello, world\n";

Создание текстовых документов HTML также очень легко. Например, в следующем фрагменте текста создается простой документ HTML:

print <<HTML;

Content-type: text/html

<HTML>

<HEAD><TITLE>Test Using HTML</TITLE></HEAD>

<BODY>

<H1><CENTER>

Hello, world

</CENTER></H1>

</BODY></HTML>

HTML

Эти примеры больше походят на исходные коды HTML, чем напрограмму на языке Perl. Действительно, если вы удалите несколько строк, вы будете иметь HTML-файл. Эта иллюстративная программа использует свойства языка Perl, которые не были рассмотрены в предыдущей главе, но они достаточно просты для понимания. Строка <<HTML и последняя строка с символами HTML представляют собой конструкцию, называемую <здесь-документ> (heredocument), которая перешла сюда из терминологии программированияshell для UNIX. <Здесьдокумент> представляет собой просто несколько строк литералов. Perl обрабатывает <здесь-документ> какстроку в двойных кавычках. Поскольку <здесь-документ> делает исходный код на языке Perl легким для чтения, то использование такой конструкции является идеальным для создания HTML-документов.Используя конструкцию <здесь-документ>, скрипт на языке Perl может не иметь символов цитирования и символов новой строки, и недолжен содержать функций printf. Конструкция <здесь-документ> широко используется в рассматриваемых далее в этой главе примерах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]