Как вы использовали HTML :: FromANSI ? Поскольку это работает для меня, с помощью следующей команды работал как задумано
git diff --color-words HEAD^ HEAD |
perl -wle '
use HTML::FromANSI;
my @lines = <STDIN>;
foreach my $line (@lines) {
chomp $line;
print ansi2html($line);
}' > tmp.html
Хотя, если вы хотите использовать полезный вывод, а не едва заметный белый текст на черном фоне, вам, вероятно, потребуется настроить HTML :: FromANSI. Приведенный выше скриптлет является всего лишь доказательством концептуального кода (и не в лучшем стиле).
Кстати, я не уверен в качестве HTML :: FromANSI модуля; он не установился (используя cpan
) для меня без силы (но это может быть проблема с Term :: VT102 :: Boundless, который требуется для этого модуля).
ansi2html
Подпрограмма имеет проблемы с некоторыми строками (я думаю, строки со встроенным / завершающим символом конца строки и пустой строкой / строкой), что выдает предупреждение Use of uninitialized value in concatenation (.) or string at .../HTML/FromANSI.pm line 353, <STDIN> line NN.
. Вот почему мне пришлось chomp
строк (и это может быть вашей проблемой с работой HTML :: FromANSI) .
Кроме того, HTML, созданный этим модулем, довольно ужасен, используя устаревший и устаревший тег <font face='...' style ='...'>
вместе с современным тегом <span style='...'>
; также я не вижу возможности использовать CSS вместо встроенного стиля.