Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 [ 86 ] 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122

• Запись в журнале. Premature end of script headers.

Возможные щмчины. Это сообщение об ощибке охватывает щирокий класс ситуаций, нри которых сценарий первым выводит не заголовок Content-Type, а что-либо другое. Напомним, что этот заголовок выводится функцией header модуля COI. Иногда в файле журнала ошибок может содержаться еще одна уточняющая запись перед или после указанной. Используйте ее для определения причины ошибки. Ваши действия в этом случае таковы.

• Убедитесь, что до вызова функции header ваша программа не выводила никакой информации (включая сообщения об ошибках). Такой вывод перед функцией header приводит к возникновению ошибки.


Некоторые граммы не используют вызов функции header, а сами организуют первую строку вывода "Content-Type: text/html\n\n" . Многие считают, что такой способ и вызов функции header равносильны, но на самом деле это не так. На различных серверах последовательность символов \п\п может интерпретироваться по-разному, а функция header учитывает эти различия.

Проблема может быть связана с зацией вывода. При этом вывод функции system или онератора ~ будет опережать вывод функции header. Для того чтобы избежать этого, перепишите начало программы

таким образом:

*!/usr/bin/perl -wT

use strict;

use CGI;

pint header;

Резюме

На этом занятии вы познакомились с основами работы CGI-программ. Вы узнали, чем отличаются между собой статические и динамические Web-страницы. На следующих занятиях будет приведена дополнительная информация по данному вопросу. Вы набрали ващу первую CGI-программу и, надеюсь, заставили ее работать.

Руководство по отладке COI-программ, приведенное выше, пригодится вам на следующих занятиях.

Вопросы и ответы

У меня не установлен модуль CGI. Можно ли без него обойтись?

Пожалуй, нет. CO - достаточно сложный протокол. Многие опубликованные программы неудачно пытаются подменить функциональность модуля COI. Они ненадежны с точки зрения проблем безопасности и совместимости, к тому же зачастую не следуют стандартам Internet. На 1б-м занятии, "Сообщество Perl", вы узнали, почему не следует "изобретать велосипед". Тем более что COI - это очень сложный "велосипед", и ни мне, ни вам невозможно изобрести его даже с сотой попытки.



Модуль CGI из стандартной установки Perl проверен сотнями и тысячами программистов и признан ими заслуживающим доверия. Используйте его.

В приложении описывается, как при необходимости установить модуль для личного пользования. Не существует причин, по которым нельзя использовать модуль CGI. Все примеры этой части требуют наличия установленного модуля CGI.

У меня есть копия cgi-lib.pl. Мо1у ли я использовать этот файл вместо модуля CGI?

Не нужно этого делать. Функциональность cgi-lib.pl полностью представлена в модуле CGL Библиотека cgi-lib.pl на данный момент устарела и больше не поддерживается.

Почему об1чно дня создание Юфамм используют г1, а, скажем, не С или TCL? Некоторые особенности Perl делают его особенно полезным для создания CGI-

программ. Вот краткий список этих особенностей.

1. В имеются прекрасные средства для обработки текста.

2. Некоторые особенности Perl (о них вы узнаете позднее) позволяют создавать безопасные CGI-программы.

3. Perl - превосходный интегрирующий язык, позволяющий совместно использовать такие различные технологии, как утилиты операционной системы, средства доступа к базам данных и протокол CGI.

4. удобен в использовании.

Moiy ли я отправить вопрос, касающийся Peri и CGI, в группу новостей сошр.lang.perl.misc?

Наиболее подходящая для этого группа новостей Но вначале просмотрите список часто задаваемых вопросов, находящийся по адресу http: www.w3.org/CGI/.

Семинар

Контрольные вопросы

1. может быть написана с использованием:

а) язык г1, оболочки UNIX или языка С;

б) только на языке Perl;

в) на любом языке программирования, который может быть запущен на сервере.

2. Perl появился после Web?

б) нет.

Ответы

1. Правильный ответ - вариант в). Perl в этом смысле не уникален, просто на нем удобно создавать CGI-программы,

2. Правильный ответ - вариант б). Perl появился в 1987 году, разработал Web в 1991 году.



Упражнения

• Немного усложните COI-программу "Hello, World!". Выведите текущее время с помощью функции localtime, добавьте цвет и таблицы с помощью дескрипторов HTML. Не бойтесь экспериментировать. Не забывайте, что выводимый программой текст HTML формирует Web-страницу, отображаемую броузером.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 [ 86 ] 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122