読者です 読者をやめる 読者になる 読者になる

perlでEUC-JPからUTF-8への変換フィルタ

まずは、いままでの「文字コード変換」っぽく

#!/usr/bin/perl
#
# This file code is UTF-8N.
#

use strict;
use warnings;

use open ":utf8";
use Encode::Guess qw/euc-jp shiftjis 7bit-jis/;
use Encode qw/from_to/;

# UTF-8コード変換
while (<STDIN>) {
    # UTF-8フラグを付けずに変換
    from_to($_, 'euc-jp', 'utf8');
    print $_;
}

PerlIOレイヤを使用

#!/usr/bin/perl
#
# This file code is UTF-8N.
#

use strict;
use warnings;

use Encode;
binmode STDIN, ':encoding(euc-jp)';
binmode STDOUT, ':utf8';

# UTF-8コード変換
print <STDIN>;

こちらのほうが「フィルタ」っぽいかな。