Hi,
I am running this on z/OS and perl-5.8.6.

$a = 160;
$b = 240;
 for($i=$a;$i<=$b;$i++)
 {
  $str = join "",$str, pack 'U*',$i;
 }
 if ($str =~ /(\p{inlatin1supplement}+)/)
 {
   print "\$1 : $1\n";
 }
 
 1) If I pipe the o/p to od -tc -tx, $1 shows me
 two bytes for each code pt value (e.g. \x8a\x41 for
 value=192). 

 2) If I set $a = 192, $b = 240, and repeat the
 test, then, $1 now shows me 1 byte for each matching
 code pt value (e.g. \x64 for value=192).

 For all values of 160 <= $a < 192, ($b = 240), $1
 shows two bytes and at $a = 192, $1 shows 1 byte. 
 
 Why is it so ? Does the codepoint value 192 have
 any special significance in utf-ebcdic ? 

Thanks,
Rajarshi.


                
__________________________________ 
Discover Yahoo! 
Have fun online with music videos, cool games, IM and more. Check it out! 
http://discover.yahoo.com/online.html

Reply via email to