В следующем фрагменте кода показано, как прочитать содержимое большого большого объекта MIME::Body, хранящегося в объекте MIME::Entity, и вывести его на устройств во STDOUT. Информационное наполнение, полученное таким образом, представлено в своем исходном виде и не содержит какой-либо кодировки MIME.
$body = $entity->body_handle or die "no body"; $handle = $body->open ("r") ; print $data while $handle->read($data,1024);
Для чтения строковых данных вместо этого метода должен применяться метод getline().
Еще один фрагмент кода показывает, как записать содержимое объекта MIME::Body с использованием его метода print(). Если данные тела объекта хранятся в файле, данные записываются в этот файл. В ином случае они записываются в структуру данных, находящуюся в оперативной памяти.
$body = $entity->body_handle or die "no body"; $handle = $body->open("w"); $handle->print($_) while <>;
В модуле MIME::Body предусмотрен ряд вспомогательных Методов.$lines = $body->as_lines $string = $body->as_string
Методы as_lines() и as_string() представляют собой вспомогательные функции, которые возвращают все информационное наполнение тела объекта в одной операции. Метод as_lines открывает тело объекта и повторно вызывает метод getline(), возвращая массив строк с символами конца строки. Метод as_string() считывает все тело объекта в скаляр. Вызов обоих методов может привести к считыванию в память большого объема данных, поэтому при их вызове необходимо соблюдать осторожность.
2014-01-26 14:39:44
это интересно Чем быстрее развиваются компьютерные технологии и программное обеспечение, тем тяжелее угнаться за новинками в сфере софта. С появлением новых алгоритмов сжатия данных не всегда нам удается распаковать нужный файл. Для этого на сайте winarc.ru Вы можете скачать архиватор , который является универсальным решением для множественных архивных расширений.