编写Perl代码。我知道我可以使用Term :: ANSIColor并执行
print color('red') . 'hello world';
然而,在这种情况下,我正在使用curses库,我想创建一个标签,其中一些单词是红色的,一些是黄色的等等。我可以操作的是一个字符串,我将通过到库中进行渲染。如果我做
$string = color('red') . 'hello world' . color('yellow') . ' another word';
然后当我将$ string传递给库进行打印时,它会打印逐字ANSI转义序列。有没有办法做我正在尝试做的事情,还是我必须用attron()和朋友手动管理标签的绘图?
提前致谢。
答案 0 :(得分:0)
我在Windows上,本身不支持ANSI颜色编码。您必须使用Win32 :: Console :: ANSI。没有它,以下代码将执行您的系统正在执行的操作。有了它,就会产生颜色。所以你要么在Windows上,要么你的终端不支持ANSI颜色。如果您使用的是Windows,只需添加Win32模块即可。
use strict;
use warnings;
use Win32::Console::ANSI;
use Term::ANSIColor;
my $string = color('red') . 'hello world' . color('yellow') . ' another word';
print $string;
exit 0;