2015-09-18 3 views
2

У меня возникли проблемы с попыткой прочитать файл MS Excel Outlook (Unicode) .msg в Perl. Через день я получаю E-Mail с информацией, которую я должен добавить в другой файл. Я бы хотел автоматизировать этот процесс.Чтение Outlook .msg в Perl

В основном у меня ограниченные навыки программирования, и я только начал изучать Perl специально для этой задачи.

Это часть моей программы, пытаясь прочитать почту. До сих пор сделал e-mail :: Перспектива :: Сообщение от perlmonks получить меня:

use warnings; 
use strict; 
use Email::Outlook::Message; 
use Email::MIME; 

my $sourceDir = "c:/temp"; 

open_msg("test.msg"); 

sub open_msg { 
    my $verbose = 0; 
    my $msgFile = shift; 
    my $origMsg = new Email::Outlook::Message "$sourceDir/$msgFile", $verbose or die "$!"; 
    my $mime = $origMsg->to_email_mime; 
    $mime->as_string; 
    return ($origMsg); 
} 

Я могу напечатать закодированный хеш, но я не знаю, как я могу хранить расшифрованный текст тела в массив?

Я рад за каждую помощь, которую я могу получить.

Редактировать: я решил изменить свой первоначальный вопрос, чтобы избежать публикации почти равного вопроса.

ответ

1

$mime->as_string возвращает значение, которое вы хотите распечатать, но вы ничего не делаете с ним, а затем печатаете неизмененный дескриптор $mime. Вы хотите print $mime->as_string;

Я считаю, что код должен также отображать Useless use of as_string in void context или аналогичные с use warnings;

+0

Спасибо, это берет меня один шаг дальше. Теперь кажется, что выход представляет собой закодированную (... YXJlYXN0LWZvbn ...) часть MIME. Как я могу его декодировать? – OneK

+0

Действительно отдельный вопрос. Похож на 'base64', но ваш фрагмент слишком ограничен, чтобы действительно рассказать. http://perldoc.perl.org/MIME/Base64.html – tripleee

Смежные вопросы