我在下面使用在终端打印彩色文本
use Term::ANSIColor;
print color("red"), "Error\n";
但我得到的输出为:
←[31mError
我还需要做些什么才能以彩色或其他方式打印文字?
答案 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