我想使Perl程序打印文本的颜色到终端,但当输出被重定向到文件-相同的文本应该打印没有终端序列。
我很惊讶像下面这样的Perl print语句不会自动完成这件事。
#!/usr/bin/perl -w
use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;
print "Do you wish to operate in ";
print BOLD GREEN "(s)";
print "cript mode or in ";
print BOLD RED "(l)";
print "ive mode ? \n";
字符串
如何在Perl中这样打印?
(The C++库rang像我上面描述的那样智能地打印。
2条答案
按热度按时间xnifntxz1#
-t
可用于检查句柄是否连接到终端。你可以在
use Term::ANSIColor
之前添加以下内容:字符串
pdtvr36n2#
正确的解决方案中有“不”:
字符串