作者: Bruce.
日時: 2004/7/09(19:16)
Bruce. です。

今日、Perl(ActivePerl 5.8.4 Build 810)をいじっていて気がついたこと。

C:\home\work>echo 漢字|perl -Mencoding=sjis -ne "print if /\p{InBasicLatin}+/"
漢字

C:\home\work>echo 漢字|perl -ne "print if /\p{InBasicLatin}+/"


・・・え? いくらなんでも漢字がBasciLatinというのは無理があるのではなかろうか。
unicore/Blocks.pl によると

return <<'END';
0000	007F	Basic Latin
0080	00FF	Latin-1 Supplement
0100	017F	Latin Extended-A
0180	024F	Latin Extended-B
(略)
END

だし。

もっと引っかかったのは

C:\home\work>echo 漢字|perl -Mencoding=sjis -ne "print if /[[:ascii:]]+/"
漢字

C:\home\work>echo 漢字|perl -ne "print if /[[:ascii:]]+/"
漢字

C:\home\work>echo 漢字|perl -Mencoding=sjis -ne "print if /[[:alnum:]]+/"
漢字

C:\home\work>echo 漢字|perl -ne "print if /[[:alnum:]]+/"

何じゃこの結果は・・・


-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
  mail kbk@...
  web  www.kt.rim.or.jp/~kbk/