- バックアップ一覧
- ソース を表示
- 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;