簡體   English   中英

Perl中的彩色端子輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM