0

Perl コードの作成。私は Term::ANSIColor を使用できることを知っています

print color('red') . 'hello world';

ただし、この状況では、curses ライブラリを使用していて、一部の単語が赤、一部が黄色などのラベルを作成したいと考えています。操作できるのは、ライブラリに渡す文字列だけです。レンダリング用。私が行った場合

$string = color('red') . 'hello world' . color('yellow') . ' another word';

次に、印刷用に $string をライブラリに渡すと、逐語的な ANSI エスケープ シーケンスが出力されます。私がやろうとしていることを行う方法はありますか、または attron() と友達を使ってラベルの描画を手動で管理する必要がありますか?

前もって感謝します。

4

1 に答える 1

0

ANSI カラー コーディングをネイティブにサポートしていない Windows を使用しています。Win32::Console::ANSI を使用する必要があります。それがなければ、次のコードはシステムが行っていることを行います。それにより、色が生成されます。したがって、Windows を使用しているか、端末が ANSI カラーをサポートしていません。Windows を使用している場合は、Win32 モジュールを追加するだけです。

use strict;
use warnings;

use Win32::Console::ANSI;
use Term::ANSIColor;

my $string = color('red') . 'hello world' . color('yellow') . ' another word';
print $string;

exit 0;
于 2012-08-12T19:12:03.583 に答える