* 日本語テキストファイルの操作 - binmode() [#rc3884f9]

すでに開かれているファイルハンドル(STDIN/STDOUTを含む)にPerlIOレイヤを指定する。ファイルハンドルレベルでuft8フラグを付けたり落としたり、文字コードを変換する。

*** use UTF8なスクリプト内で標準入力(出力)を使う [#a6154bd5]
 use utf8;
 binmode STDOUT, ':utf8'; # 'encoding(utf8)'でもよい
 print "あ 京\n";
↑binmodeを使わなければ「Wide character」のシステムエラーが発生する。

 use utf8;
 binmode STDIN, ':utf8';
 while (<>) {
    chomp;
    print "[$_]\n";
 }

*** use utf8なスクリプト内で、SJISのテキストファイルを読取り、標準出力へ表示する [#q64d8f9e]

 use utf8;
 binmode STDOUT, ':encoding(utf8)';
 open my $fh, '<', shift;
 binmode $fh, ':encoding(sjis)';
 while ($row = <$fh>) {
    print $row;
 }
 close $fh;


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS