> I can explain that.  "\x{3af}bc\x{3af}de" is is a string literal so 
> it gets encoded.  however, my example in escaped form is;
> 
>   $kana =~ tr/\xA4\xA1-\xA4\xF3/\xA5\xA1-\xA5\xF3/
> 
>   which does not get encoded.  the intention was;
> 
>   $kana =~ tr/\x{3041}-\x{3093}/\x{30a1}-\x{30f3}/
> 
>   That's why
> 
>   eval qq{ $kana =~ tr/\xA4\xA1-\xA4\xF3/\xA5\xA1-\xA5\xF3/ }
> 
> works because \xA4\xA1-\xA4\xF3 and \xA5\xA1-\xA5\xF3 are converted. 
> to \x{3041}-\x{3093} and \x{30a1}-\x{30f3}, respectively.

I'm confused.  Firstly, the tr/\xA4... converts bytes thusly:

  A1 -> A1
  A2 -> A2
  A3 -> A3
  A4 -> A5
  A5 -> A5
  F3 -> A5

So why isn't it just tr/\xA4\xF3/\xA5/?

Secondly, aren't you expecting tr/// to magically recognize that when
the EUC-JP codes \xA4, \xA1 to \xA4, and \xF3 are converted to their
Unicode counterparts they are supposed to spell out the Hiragana range?
The "range" concept of tr/// is very limited.  I think you want s///e.

-- 
Jarkko Hietaniemi <[EMAIL PROTECTED]> http://www.iki.fi/jhi/ "There is this special
biologist word we use for 'stable'.  It is 'dead'." -- Jack Cohen

Reply via email to