String Perl文本差异颜色

String Perl文本差异颜色,string,perl,colors,diff,String,Perl,Colors,Diff,我希望能够比较两个文本字符串并显示颜色的差异。我试过了,但无法用颜色显示差异。我正在使用活动状态为perl 5的Windows,版本12 编辑:ansi颜色等不能帮助我显示颜色差异 编辑:这是我想要的结果 $string1 = "This is string 1" ; $string2 = "This is string 2" ; some_diff_cmd($string1,$string2) ; $string1=“这是字符串1”; $string2=“这是字符串2”; 一些不同的命令($

我希望能够比较两个文本字符串并显示颜色的差异。我试过了,但无法用颜色显示差异。我正在使用活动状态为perl 5的Windows,版本12

编辑:ansi颜色等不能帮助我显示颜色差异
编辑:这是我想要的结果

$string1 = "This is string 1" ; $string2 = "This is string 2" ; some_diff_cmd($string1,$string2) ; $string1=“这是字符串1”; $string2=“这是字符串2”; 一些不同的命令($string1,$string2); 我想要的输出(粗体的条目应该是红色)

###字符串不匹配

string1=这是字符串1
string2=这是string2

这个怎么样

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";

很酷,和我想要的差不多。接受答案,加1。脚本没有按原样工作;可能与转义序列有关。但一旦我用双引号中的颜色转义序列值替换了“*_符号”变量,它就工作得很好。非常感谢。啊,当然,它应该被插值。我写代码的时候没有办法检查它。。。我将相应地更新答案。我将使用Term::ANSIColor而不是自己制定转义序列。您可以使用