Perlについての質問箱 25箱目
■ このスレッドは過去ログ倉庫に格納されています
0698デフォルトの名無しさん
2006/07/08(土) 10:49:16Perl5.8では内部の文字コード?がUTF-8であると聞きました。
しかし、日本語のテキストを処理する場合に、
trなどで全角1文字単位で扱おうとすると、
処理対象のテキストがUTF-8であっても、
Encode::decodeを使って
$_ = decode('utf8',$_);
などとする必要があるようです。これは何故なのでしょうか?
このdecodeは何をやってるんでしょう?
具体的には、テキスト中の全角数字を半角数字へ置換するスクリプトとして
以下のような物を書きました。(動きました)
use strict;
use utf8;
use Encode qw/ encode decode /;
while (<>){
$_ = decode('utf8',$_);
tr/0-9/0-9/;
print;
}
■ このスレッドは過去ログ倉庫に格納されています