• 追加された行はこの色です。
  • 削除された行はこの色です。
* 日本語処理全般 [#iedd07ad]

** use UTF8なスクリプト内で標準入力(出力)を使う [#a6154bd5]
binmodeを使ってすでに開かれているファイルハンドル(STDIN/STDOUT)にPerlIOレイヤを指定する。binmodeを使わなければ、「Wide character」のシステムエラーが発生する。
** binmode [#ddc083be]
すでに開かれているファイルハンドル(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