Perl 中的彩色终端输出
Color terminal output in Perl
我想在终端支持彩色时以彩色打印一些输出到终端,否则以普通方式打印。此外,当程序不是 运行 交互时,我不希望有颜色,例如当通过管道输入 grep 时。
在 Perl 中执行此操作的最佳方法是什么?我希望 API 有点像这样:
printColorMaybe( RED, "Hi", PLAIN, " mom!\n" );
实施将在不合适的情况下忽略颜色代码。
Term::ANSIColor
生成彩色输出。
-t STDOUT
测试标准输出是否打开到终端。
动态禁用 Term::ANSIColor
.
use Term::ANSIColor;
$ENV{ANSI_COLORS_DISABLED}++ unless -t STDOUT;
print colored("Hi","red")," mom!\n";
我想在终端支持彩色时以彩色打印一些输出到终端,否则以普通方式打印。此外,当程序不是 运行 交互时,我不希望有颜色,例如当通过管道输入 grep 时。
在 Perl 中执行此操作的最佳方法是什么?我希望 API 有点像这样:
printColorMaybe( RED, "Hi", PLAIN, " mom!\n" );
实施将在不合适的情况下忽略颜色代码。
Term::ANSIColor
生成彩色输出。
-t STDOUT
测试标准输出是否打开到终端。
Term::ANSIColor
.
use Term::ANSIColor;
$ENV{ANSI_COLORS_DISABLED}++ unless -t STDOUT;
print colored("Hi","red")," mom!\n";