Кроме строк запроса типа applicatioh/x-www-form-urlencoded, в некоторых заполняемых формах применяется более новая система кодирования multipart/form-data. Способ работы с такими формами описан в разделе “Выгрузка файлов с использованием типа MIME multipart/form-data”.
Следующий сценарий именуется search_rfc .pl. Он вызывает серверный сценарий, расположенный по адресу http://www.faqs.org/cgi-bin/rfcsearch, для поиска в предметном указателе RFC документов, имеющих какое-то отношение к условиям поиска, заданным в командной строке. Ниже показаны результаты поиска к условиям “MIME types”.
% search_rfc.pl MIME types
RFC 2503 MIME Types for Use with the ISO ILL Protocol RFC 1927 Suggested Additional MIME Types for Associating Documents
Сценарий search_rfc.pl действует по принципу эмуляции отправки пользователем данных заполняемой формы, показанной ранее. Создается строка запроса, содержащая поля query и archive, а затем выполняется ее отправка с помощью метода POST в серверный сценарий поиска. После этого требуемая информация извлекается из возвращенного документа HTML и выводится на стандартное устройство вывода.
Для правильного преобразования символов строки запроса в управляющие последовательности используется функция uri_escape (), которая входит в состав модуля URI::Escape из библиотеки LWP. Функция uri_escape ( ) заменяет недопустимые символы в URL соответствующими им шестнадцатеричными управляющими последовательностями. Функция uri_unescape () выполняет обратное преобразование.