MIME::Body. Класс MIME::Body содержит информацию о теле объекта MIME::Entity. Объекты MIME::Body могут извлекаться с помощью метода bodyhandle() объекта MIME::Entity и создаваться по мере необходимости с помощью методов build() и attach() объекта MIME::Entity. В сценарии приходится использовать объекты MIME::Body при интеграции входящих сообщений, закодированных в формате MIME. Поскольку данные, закодированные в формате MIME, могут иметь весьма значительный объем, важным свойством объекта MIME::Body является его способность хранить эти данные на диске или в оперативной памяти (в документации MIME::Tools последний способ хранения так и называется: “in core” — в оперативной памяти). Методы, предусмотренные в модуле MIME::Body, позволяют управлять тем, где должны храниться данные тела объекта, как должно происходить их чтение и запись и как должны создаваться новые объекты MIME::Body.
Класс MIME::Body имеет три подкласса, специализированные для хранения данных различным образом.
MIME::Body::File. Этот подкласс обеспечивает хранение данных тела объекта в файле на диске. Данный способ хранения может применяться для больших двоичных объектов, которые не помещаются в оперативной памяти.
MIME::Body::Scalar. Этот подкласс обеспечивает хранение данных тела объекта в скалярной переменной в оперативной памяти. Такой способ хранения может применяться к небольшим фрагментам данных, таким как текстовая часть сообщения электронной почты.
MIME::Body::InCore. Данный подкласс обеспечивает хранение данных тела объекта в ссылке на массив, хранящийся в оперативной памяти. Этот способ хранения может применяться к текстам большого объема, для которых должны неоднократно выполняться операции чтения или записи.