- バックアップ一覧
- ソース を表示
- Perl/日本語処理全般 は削除されています。
- 1 (2009-08-24 (月) 14:58:09)
- 2 (2009-08-24 (月) 16:38:55)
日本語処理全般
binmode
すでに開かれているファイルハンドル(STDIN/STDOUTを含む)にPerlIOレイヤを指定する。ファイルハンドルレベルでuft8フラグを付けたり落としたり、文字コードを変換する。
use UTF8なスクリプト内で標準入力(出力)を使う
use utf8; binmode STDOUT, ':utf8'; # 'encoding(utf8)'でもよい print "あ 京\n";
↑binmodeを使わなければ「Wide character」のシステムエラーが発生する。
use utf8; binmode STDIN, ':utf8'; while (<>) { chomp; print "[$_]\n"; }
use utf8なスクリプト内で、SJISのテキストファイルを読取り、標準出力へ表示する
use utf8; binmode STDOUT, ':encoding(utf8)'; open my $fh, '<', shift; binmode $fh, ':encoding(sjis)'; while ($row = <$fh>) { print $row; } close $fh;