Ncurses与Perl一起逃脱

时间:2012-08-12 13:36:14

标签: perl ansi curses

编写Perl代码。我知道我可以使用Term :: ANSIColor并执行

print color('red') . 'hello world';

然而,在这种情况下,我正在使用curses库,我想创建一个标签,其中一些单词是红色的,一些是黄色的等等。我可以操作的是一个字符串,我将通过到库中进行渲染。如果我做

$string = color('red') . 'hello world' . color('yellow') . ' another word';

然后当我将$ string传递给库进行打印时,它会打印逐字ANSI转义序列。有没有办法做我正在尝试做的事情,还是我必须用attron()和朋友手动管理标签的绘图?

提前致谢。

1 个答案:

答案 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;