わたなべです.

matz / caelum.co.jp (Yukihiro Matsumoto) writes:

:残る問題はmultibyte対応の時の \xa4 とか [\xa4]とかで,まずど
:ういう動作をするかというところから定義しないといけないようで
:す.現状では iskanji(c) -- rubyではismbchar(c) -- が成立する
:数値リテラルはエラーにしているのですが,本当はどういう挙動を
:するべきだと思います?

これって悩むとこなんですよね. jperl ではまったくなにもやって
ないのでところどころで矛盾を生じています. jcode.pl が動かな
いのもこれが一つの原因になってるし.

pettern を compile した時に 16 進を変換しちゃうので, 実際の
matching の際に次の文字を日本語の 2 バイト目と勘違いしてしま
うんですよね. しょーがないので 16, 8 進は別のコード番号を割
り当てようかななんて思ってます.

しかし \xa1\xa1 は日本語とみなすべきか, それとも \xa1 \xa1 
のように 1 バイト文字とみなすべきかというのは本当に悩みます.
どっちかというと
 [\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc]
なんて表記できると便利だから 1 byte とみなしたほうがいいかな
と思いますが.

:|やっぱ地道に iskanji(c) で調べて日本語の 1 バイト目だったら
:|読み飛ばすって感じです.
:
:jperl5のソースを読むべきかなあ.

近々 CPAN に perl5.003_94 に対する patch を置きます. って,
もう perl5.003_95 が出てるし…

-- 
わたなべひろふみ