
354
付録 C Unicode 入門
character-class- to-get-not-a-newline/
)で詳しく解説されています。
C.5.2
STDIN
からの入力、
STDOUT
と
STDERR
への出力
最も低いレベルでは、入出力は単なるオクテットで行われます。プログラムは、それをどのよう
にデコードやエンコードするかを知る必要があります。これについては
5
章で解説していますが、
ここでは概略を述べます。
ファイルハンドルに対して特定のエンコーディングを適用する方法は
2
つあります。
1
つ目の方
法は、
binmode
を使うことです。
binmode STDOUT, ':encoding(UTF-8)';
binmode $fh, ':encoding(UTF-16LE)';
ファイルハンドルをオープンする際に、エンコーディングを指定することもできます。
open my $fh, '>:encoding(UTF-8)', $filename;
今後オープンするすべてのファイルハンドルに対して、エンコーディングを適用するには、
open
プラグマを使います。すべての入力用あるいは出力用ファイルハンドルが対象になります。
use open IN => ':encoding(UTF-8)';
use open OUT => ':encoding(UTF-8)';
1
つのプラグマで、入出力両方を設定することができます。
use open IN => ":crlf", OUT => ":bytes";
入出力両方に同じエンコーディングを適用したければ、 ...