586__________________Часть V. Разработка программ и написание скриптов
foreach $pair (@pairs){
($name, $value)=split(/=/, $pair);
$value=~tr/+/ /;
$valu =~s/%([a-fA-FO-9][a-fA-FO-9])/packC'C", hex($l))/eg;
$contents{$name}=$value;
Проверка метода посылки данных, пример которой был приведен выше в CGI-скрипте, написанном на языкеPERL,избавит вас от возможной головной боли. Получаемая информация автоматически подвергается синтаксическому анализу, причем каждый из элементов, посылаемых пользователем, размещается в массиве $contents. Обратиться к любому элементу массива можно следующим образом:$contents{$name}, где name — это имя переменной, назначенное при составлении формы.
Задание MIME-типа
Каждый файл, посылаемый серверу, должен содержать специальный выходной заголовок. Этот заголовок содержит информацию для сервера и других приложений, необходимую для правильной передачи и обработки файла.
Использование специального заголовка в CGI-скриптах представляет собой расширение системы протоколов, называемое MIME (Multipurpose Internet Mail Extensions — Многоцелевые расширения почты Internet). Использование этого расширения для электронной почты началось в 1992 году, когда был опубликован документ RFC-1341 (Request For Comments), определивший MIME-ТИПЫ. Эта система значительно расширила возможность электронной почты Internet по передаче и получению файлов различных нетекстовых форматов.
(^ Примечание^)
Со времени выхода документа RFC-1341 был внесен ряд изменений. Дополнительную информацию по этим вопросам можно получить из документов RFC-1521 и RFC-1522. Список всех документов RFC располагается по адрес http://ds0.internic.net/rfc/.Эти документы содержат много полезной информации, относящейся к функционированию и структуре сети Internet.
Каждый раз, когда вы как клиент посылаете запрос на сервер, посылается MIME-сообщение со специально отформатированным заголовком. Большая часть заголовка отражает сведения о протоколе клиента. Сюда входит метод посылки запроса, URI (Universal Resource Identifier — универсальный иденти-