Hi,
I run this on z/OS and perl-5.8.6.
$a = 128;
$b = 256;
for ($i=$a;$i<=$b;$i++)
{
$str = join '', $str, pack 'U*', $i;
}
if ($str =~ /(\p{inlatin1supplement}+)/)
{
print "\$1 : $1\n";
}
I get the following values :
a) for $a = 128
$b = 256
$1 has 1 byte representations for each of (128-159)
and 2 byte representations for each of (160-255)
b) if $a = 160
$b = 240
$1 : 2 bytes for each of (160-240)
c) $a = 192
$b = 240
$1 : 1 byte for the complete range of code pt values (192 - 240)
d) $a = 192
$b = 256
$1 : 1 byte for each of (192-255)
$1 contains either 1 byte or two byte or both representations of the
matching code pt values depending on the range that is specified to
construct $str.
1) Is this behaviour incorrect and needs to be fixed for $1 to always
contain 1 byte representation only ?(since on ascii $1 always contains 1
byte representations only for any matching code pt value < 256).
2) If it is correct, then what is significant about the code pt 192 which
changes $1 (1 byte representation (case b above) to 2 bytes (case c above))
eventhough $b = 240 in both cases ?
Thanks in advance,
Rajarshi.
_________________________________________________________________
Get yourself a brand new Mobile.
http://adfarm.mediaplex.com/ad/ck/4686-26272-10936-378?ck=BuyNewMobile
Find,Compare & BUY IT NOW on eBay.in!
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>