[英]Color terminal output in Perl
當終端支持顏色時,我想以某種顏色將某些輸出輸出到終端,否則將其打印為純色。 另外,當程序不是交互式運行時(例如,通過管道傳輸到grep時),我不希望出現任何顏色。
在Perl中執行此操作的最佳方法是什么? 我希望一些像這樣的API:
printColorMaybe( RED, "Hi", PLAIN, " mom!\n" );
在不適當的情況下,實現會忽略顏色代碼。
Term::ANSIColor
產生彩色輸出。
-t STDOUT
以測試標准輸出是否已打開到端子。
$ENV{ANSI_COLORS_DISABLED}
動態禁用Term::ANSIColor
。
use Term::ANSIColor;
$ENV{ANSI_COLORS_DISABLED}++ unless -t STDOUT;
print colored("Hi","red")," mom!\n";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.