簡體   English   中英

Perl文本差異顏色

[英]Perl text diff color

我希望能夠比較兩個文本字符串並顯示顏色的差異。 我嘗試過String :: Diff但是無法區分顯示顏色。 我使用Windows與Active State perl 5,版本12。

編輯:ansi顏色等沒有幫助我顯示顏色的差異
編輯:這是我想要的結果

$string1 = "This is string 1" ;
$string2 = "This is string 2" ;

some_diff_cmd($string1,$string2) ;

我想要的輸出(以粗體顯示的條目應為彩色,表示紅色)

###字符串不匹配####

string1 =這是字符串1
string2 =這是字符串2

這個怎么樣?

use Win32::Console::ANSI;
use String::Diff qw( diff );

my @strings = (
  'This is string 1', 'This is string 2'
);

my $BOLD_RED_MARK = "\e[1;31m"; # or \e[0;31m, if bold is not required
my $RESET_MARK    = "\e[0m";

my $diff = String::Diff::diff(@strings,
   remove_open  => $BOLD_RED_SIGN,
   remove_close => $RESET_SIGN,
   append_open  => $BOLD_RED_SIGN,
   append_close => $RESET_SIGN,
);

print $diff->[0], "\n";
print $diff->[1], "\n";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM