使用perl打印控制台日志颜色

时间:2015-09-26 13:23:19

标签: perl

我在下面使用在终端打印彩色文本

use Term::ANSIColor;
print color("red"), "Error\n";

但我得到的输出为:

←[31mError

我还需要做些什么才能以彩色或其他方式打印文字?

1 个答案:

答案 0 :(得分:3)

您使用的是Windows操作系统吗?来自http://search.cpan.org/~rra/Term-ANSIColor-4.03/lib/Term/ANSIColor.pm -

  

此模块在不符合要求的显示器上无法正常工作   这些转义序列,例如cmd.exe,4nt.exe和command.com   在Windows NT或Windows 2000下。它们可能只是被忽略,或者   它们可以显示为ESC字符,然后显示一些   垃圾。

您的输出显示正在添加转义序列,但控制台/终端无法显示它们。

在Term :: ANSIColor之前加载此模块可能会有所帮助: http://search.cpan.org/~jlmorel/Win32-Console-ANSI-1.10/lib/Win32/Console/ANSI.pm

此外,关于perlmonks的相关讨论:http://www.perlmonks.org/?node_id=429607