2015-01-15 64 views
3

我編寫了一個Perl程序,使其輸出着色。術語:: ANSIColor術語不支持顏色

不幸的是,我還有一個解釋器,它可以運行我的程序並在不理解任何ANSI轉義序列的情況下顯示其輸出。

什麼是簡單地繞過Term::ANSIColor的正確方法?對於每個sayprint陳述,即始終處理這兩種情況將會很糟糕,即say ($ENV{'TERM'} ne 'NONE')?colored('foo', green):'foo';

任何建議都是值得歡迎的。

回答

3

使用ANSI_COLORS_DISABLED環境變量:

ANSI_COLORS_DISABLED

如果該環境變量設置爲真值,所有的由該模塊定義的函數(顏色(),有色() ,以及程序中以前未使用的所有常量)不會輸出任何轉義序列,而是隻會返回空字符串或根據需要傳遞原始文本。這旨在支持在不支持ANSI轉義序列的平臺上輕鬆使用使用此模塊的腳本。