И в том, и в ином случае все временные файлы очищаются после вызова метода purge() объекта MIME::Entity верхнего уровня. Однако можно сохранить некоторые или все части. Для сохранения некоторых из них необходимо поэтапно пройти по частям сообщения и вызвать избирательно метод purge() для тех частей, которые не должны быть сохранены. После этого можно либо оставить неуничтоженные части в том месте, где они находятся, либо переместить их для сохранности в другое место файловой системы. Чтобы сохранить все интерпретированные части, не нужно вообще вызывать метод purge().
Процесс интерпретации является сложным, и метод parse() может аварийно завершить работу, если встретит любое из множества исключений. Эти исключения можно перехватить и попытаться выполнить восстановление после ошибок, заключив вызов метода parse() в блок eval{}.
$entity = eval { $parser->parse(*F) }; warn $@ if $@;
Ниже приведен небольшой список основных функций модуля MIME::Parser, начиная с конструктора.
$parser = MIME::Parser->new()
Метод new() создает новый объект синтаксического анализатора с установками по умолчанию. Он не принимает параметров.
Метод output_dir() получает или устанавливает выходной каталог для интерпретации. Это - тот каталог, в котором будут (временно) храниться различные части и вложения интерпретированного сообщения.
При вызове без параметров этот метод возвращает текущее значение выходного каталога. При его вызове с указанием пути к каталогу он устанавливает выходной каталог и возвращает его предыдущее значение. Применяемой по умолчанию установкой является текущий каталог.