Создание текста и 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, которые не были рассмотрены в предыдущей главе, но они достаточно просты для понимания. Строка < (heredocument), которая перешла сюда из терминологии программирования shell для UNIX. <Здесьдокумент> представляет собой просто несколько строк литералов. Perl обрабатывает <здесь-документ> как строку в двойных кавычках. Поскольку <здесь-документ> делает исходный код на языке Perl легким для чтения, то использование такой конструкции является идеальным для создания HTML-документов. Используя конструкцию <здесь-документ>, скрипт на языке Perl может не иметь символов цитирования и символов новой строки, и не должен содержать функций printf. Конструкция <здесь-документ> широко используется в рассматриваемых далее в этой главе примерах.
Добавление в документ динамических свойств
Если бы возможности CGI-скриптов ограничивались созданием статических форм, то это было бы грустно. Настоящая сила CGI состоит в придании Web страницам динамики. Следующий скрипт на языке Perl решает задачу вывода на экран значения переменных окружения.
print <<HTML; Content-type: text/html <HTML> <HEAD><TITLE>Echo Environment Variables </TITLE></HEAD> <BODY> <H3><CENTER> Environment Variables:<HR> </CENTER></H3> for $env (sort keys %ENV) { print "<LI>$env is $ENV{$env}<BR>"; } print "</BODY></HTML>\n"
Этот пример создает статический заголовок, и затем выводит значения переменных окружения скрипта, используя форматированный HTML-документ. Скрипт показывает, как использовать конструкцию <здесь-документ> совместно с традиционной функцией print.
Доступ к строке запросов
Простым способом передачи данных CGI в скрипт является использование строки запросов. Броузер передает данные HTTP-серверу как часть URL. В свою очередь сервер рассматривает все, что следует за знаком вопроса (?) в URL, какстроку запроса. CGI-скрипт может получить доступ к строке запросов двумя способами. Либо сервер передает строку запросов скрипту, используя аргументы командной строки, либо сервер присваивает значение строки запросов переменной окружения QUERY_STRING. Например, можно возвратиться к рассмотренному выше скрипту, который выводит на экран значения переменных окружения, и вызвать скрипт, используя строку запросов.
1 2 3 4 5
8 8 8
| |