PerlIO::via::ANSIColor

思いつきと勢いだけで PerlIO::via::ANSIColor というものを作って CPAN にあげました。

use PerlIO::via::ANSIColor color => 'reverse green';
binmode STDERR, ':via(ANSIColor)';

warn "this outputs is colored\n";

とすると warn で出力されるメッセージが緑の反転になります。STDOUT も普通のファイルハンドルでも使えます。Term::ANSIColor 好きにはたまらない。かも。

2007-07-23 追記

POD を更新したので追記しておきます。

use PerlIO::via::ANSIColor;

PerlIO::via::ANSIColor->color('reverse red');
open my $redfh, ">&STDOUT" or die $!;
binmode $redfh, ':via(ANSIColor)';

PerlIO::via::ANSIColor->color('reverse blue');
open my $bluefh, ">&STDOUT" or die $!;
binmode $bluefh, ':via(ANSIColor)';

print $redfh  "this color is reverse red\n";
print $bluefh "this color is reverse blue\n";

とすると $redfh に出力すると赤の反転、$bluefh に出力すると青の反転が標準出力に出力されます。