Perl 需要为端子着色';s使用打印命令Term::ANSIColor生成的输出

Perl 需要为端子着色';s使用打印命令Term::ANSIColor生成的输出,perl,terminal,Perl,Terminal,以下是我所拥有的: use Term::ANSIColor; print "Blah!".color("green"); 输出是 Test←[32m 我缺少什么?您使用的终端程序不支持ECMA-48颜色转义码。因此,它不给它们任何特殊处理,而是按原样输出字符 您缺少的是:一个可以执行以下操作的终端。xterm、libvte、putty只是其中的几个而已。您在Windows上吗?我相当肯定Windows外壳不符合模块使用的颜色代码 实际上,模块的文档中就有这样的说明 请注意,并非所有显示器都符

以下是我所拥有的:

use Term::ANSIColor;
print "Blah!".color("green");
输出是

Test←[32m

我缺少什么?

您使用的终端程序不支持ECMA-48颜色转义码。因此,它不给它们任何特殊处理,而是按原样输出字符


您缺少的是:一个可以执行以下操作的终端。xterm、libvte、putty只是其中的几个而已。

您在Windows上吗?我相当肯定Windows外壳不符合模块使用的颜色代码

实际上,模块的文档中就有这样的说明

请注意,并非所有显示器都符合ISO 6429标准,甚至不符合X3.64标准(或者甚至正在尝试这样做)。在不符合这些转义序列的显示器上,如Windows NT或Windows 2000下的cmd.exe、4nt.exe和command.com,此模块将无法按预期工作。它们可能只是被忽略,或者显示为ESC字符,后跟一些明显的垃圾

编辑: 我的评论的增编:

C:\>perl -MWin32::Console::ANSI -MTerm::ANSIColor -e "print color(\"green\"), 'test', color(\"reset\");"

在Windows XP、Perl 5.12.1上运行良好,因此有了解决方法。

有解决方法吗?我知道系统(“颜色A”);可以工作,但适用于整个屏幕。无法在此计算机上安装模块吗?Win32/Console/ANSI不可用,需要其他选项。。。复制粘贴?此外,您还可以安装模块。总是。给我一分钟,我要找到那个链接。编辑:给你:@seaworthy,没有解决方案不依赖XS模块或外部程序来管理控制台。不行,我想你已经安装了模块。