Каждый документ RFC, соответствующий критерию поиска, представляет собой элемент упорядоченного списка (тег кода HTML), в котором номер RFC содержится в теге <а>, представляющем собой ссылку на текст RFC, а название документа RFC заключено в пару тегов .
Для поиска и сопоставления с образцом всех строк, указывающих на документы RFC, извлечения номера и названия RFC, а также вывода этой информации на стандартное устройств( вывода применяется простое регулярное выражение с опцией глобального поиска.
В усовершенствованной версии этого сценария можно было бы предусмотреть возможность выборки текста каждого документа RFC, возвращенного в результате поиска. Одним из способов этого может быть включение вызова метода $ua->request () для каждого найденного документа RFC. Еще один более изящный способ мог бы состоять в доработке сценария get_rfc.pl, чтобы он принимал список номеров RFC со стандартного устройства ввода. Это могло бы позволить выбирать содержимое каждого документа RFC, полученного в результате поиска, путем объединения команд вызова этих двух сценариев с помощью канала:
% fetch_rfc.pl MIME types | get_rfc.pl
Поскольку организация Internet FAQ Consortium не опубликовала интерфейс доступа к своему сценарию поиска, нет никакой гарантий, что в нем не изменится либо форма строки запроса, либо формат документа HTML, возвращаемого в ответ на поисковые запросы. Если произойдет одно из этих событий, сценарий перестанет работать. Это - "хроническая" проблема всех подобных сценариев Web-клиентов и убедительная причина проверки каждого этапа сложного сценария на предмет того, что удаленный Web-cepBep действительно возвращает ожидаемые результаты.
Этот сценарий содержит незаметную на первый взгляд ошибку, которая заключается в том, каким образом происходит формирование в нем строк запроса. Эта ошибка будет показана в следующем разделе.