Проблема с Perl при использовании mhonarc для возможности преобразования файлов eml в файлы html - PullRequest
3 голосов
/ 03 июля 2019

В MacOS 10.13.6 High Sierra мне нужна помощь, чтобы преобразовать список писем, которые я экспортировал в файлы формата eml ((с thunderbird)), в файлы HTML.

Для этого, Я установил инструмент под названием "mhonarc".

Но при выполнении, когда я делаю:

mhonarc -outdir /Users/peter/Mails_HTML /Users/peter/Mails

я получаю следующую ошибку:

Can't use 'defined(%hash)' (Maybe you should just omit the   defined()?) at /opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-2level/mhamain.pl line 1565.
Compilation failed in require at /opt/local/bin/mhonarc line 39.

Я не знаю, есть ли у меня правильная версия perl. Я установил perl5.26 и perl5.28 через macports и 3 следующих пакета macports:

p5-mhonarc @2.6.19 (perl)
MHonArc - mail and news munging

p5.26-mhonarc @2.6.19 (perl)
MHonArc - mail and news munging

p5.28-mhonarc @2.6.19 (perl)
MHonArc - mail and news munging

после выполнения: sudo port searc mhonarc

Я думаю, что есть конфликт между нативным Perl High Sierra и пакетом perl, установленным с macports, но я не уверен.

Если кто-то мог увидеть, что не так, я бы сказал,будьте благодарны, чтобы сообщить мне об этом.

РЕДАКТИРОВАТЬ 1:

Если я сделаю which perl, я получу: /opt/local/bin/perl, поэтому я предполагаю, что я используюверсия, установленная с macports.

Здесь версии, установленные и потенциально используемые mhonarc:

$ /opt/local/bin/perl --version

This is perl 5, version 26, subversion 3 (v5.26.3) built for darwin-  thread-multi-2level

Copyright 1987-2018, Larry Wall

и

$ /usr/bin/perl --version

This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

Copyright 1987-2013, Larry Wall

РЕДАКТИРОВАТЬ 2: Я последовал предложению @choroba: я заменил все all defined(%variable_name) by just %variable_name

Таким образом, команда mhonarc -outdir /Users/peter/Mails_HTML /Users/peter/Mails не выдает ошибку, но проблема в том, чтоне обрабатывает почту в формате HTML в каталоге /Users/peter/Mails_HTML

Я получаю следующий вывод:

This is MHonArc v2.6.19, Perl 5.028002 darwin
Converting messages to /Users/peter/Mails_HTML/
Reading /Users/peter/Mails 

Writing mail 
Writing /Users/peter/Mails_HTML//maillist.html ...
Writing /Users/peter/Mails_HTML//threads.html ...
Writing database ...
0 total messages

Что может быть причиной такого поведения?

РЕДАКТИРОВАТЬ 3: Проблема, наконец, исправлена ​​измененной командной строкой:

mhonarc -outdir /Users/peter/Mails_HTML /Users/peter/Mails/*

, которая создает все файлы HTML в каталоге /Users/peter/Mails_HTML.есть только даты электронной почты, которые отсутствуют, я собираюсь провести исследование для добавления этой информации

Спасибо

...