После обработки в этой программе сообщения MIME, хранящегося в файле mime.test, был получен следующий результат.
% simple_parse.pl ~/mime.test From = Lincoln Stein <lstein@cshl.org> Subject = testing mime parser MIME type = multipart/mixed Parts = 5 text/plain audio/wav image/jpeg audio/mpeg text/plain /tmp/msg-1857-1.dat /tmp/assimilated.wav /tmp/aw-2-19.jpg /tmp/NorthwestPassage.mp3 /tmp/msg-1857-2.dat
Это многокомпонентное сообщение содержит пять частей. Первая и последняя части включают текстовые данные и соответствуют сопроводительному тексту и подписи. Остальные части представляют собой вложения, состоящие из звукового файла audio/wav, изображения JPEG и копии дорожки компакт-диска в формате MP3. Такие сообщения легко интерпретируются для любого средства приема почты, в том числе для телефонов vertu .
Более сложный пример синтаксического анализатора MIME::Parser приведен далее, где описано создание клиентов протокола POP (Post Office Protocol — Почтовый протокол). В этом примере запускаются внешние программы просмотра для вывода файла изображения и воспроизведения звукового файла, представленных в виде вложений.
Поскольку файлы MIME могут быть очень большими, по умолчанию модули MIME::Parser предусматривает запись интерпретированных частей MIME::Body в виде файлов с использованием класса MIME::Body::File. Размещением этих файлов можно управлять с использованием методов output_dir() или output_under(). Метод output_dir () сообщает модулю MIME::Parser, что части должны храниться непосредственно в указанном каталоге. Метод output_under(), с другой стороны, создает двух-уровневый каталог. Для каждого интерпретированного сообщения электронной почты модуль MIME::Parser создает подкаталог под базовым каталогом, указанным параметром outputhunder(), а затем записывает в него данные объекта MIME::Body::File.