Hi,
I run 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 in advance,
Rajarshi.

_________________________________________________________________
MSN Careers! http://www.timesjobs.com/MSN/ Sign up now!


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to