При выборе пользователем опции чтения, программа отображает заголовок сообщения и текстовую часть тела. Затем появляется отчет с указанием, что сообщение имеет два вложения (точнее, их следует называть “частями MIME в формате, отличном от text /plain”). Для каждого вложения программа выдает приглашение указать способ его обработки. Для первого вложения типа image/jpeg был выбран просмотр с помощью предпочтительной программы просмотра изображения (приложение XV, написанное Джоном Брэдли (John Bradley)). В результате на экране появилось новое окно с изображением. После выхода из программы просмотра сценарий снова выводит приглашение указать способ обработки. На этот раз было решено сохранить изображение под его именем, предусмотренным по умолчанию.
Следующим вложением является документ Microsoft Word. Для документа этого типа на компьютере пользователя нет ни одной программы просмотра, поэтому приглашение допускает только возможность сохранения его на диске.
После завершения работы с последним вложением программа выдает запрос, оставить ли сообщение, удалить его из ящика для входящей почты или закончить работу. Пользователь заканчивает работу. После этого программа переходит к следующему необработанному сообщению. Эта программа в программировании также незаменима, как варежка для пилинга при косметологии.
Сценарий pop.fetch.pl
Сценарий pop_fetch.pl состоит из двух частей. Первая часть, приведенная ниже, обеспечивает поддержку пользовательского интерфейса. Небольшой модуль PopParser.pm создает подклассы объектов Net::POP3 таким образом, что сообщения, полученные из почтового ящика POP3, автоматически интерпретируются и преобразуются в объекты MIME::Entity.
1) Активизация проверки потенциально опасных данных и загрузка модулей. Поскольку будет выполняться запуск внешних приложений (программ просмотра) на основе информации, полученной из источников, не заслуживающих доверия, необходимо тщательно проверять переменные, содержащие потенциально опасные данные. Проверка потенциально опасных данных обозначена опцией -T. Загружаются два модуля, разработанные для этого приложения, — PopParser и PromptUtil.
2) Определение средств просмотра. Определяются константы для некоторых р внешних средств просмотра. Например, файлы HTML вызываются командой lynx %s, где код формата %s заменяется именем просматриваемого файла HTML.
3) Средства проверки потенциально опасных данных исключает возможность выполнения программы с установленным значением пути доступа, не заслуживающим доверия, или с некоторыми другими установленными переменными среды. Переменная path устанавливается равной известному, проверенному значению, и удаляются четыре другие переменные среды, от которых зависит способ выполнения команд.