perl-unicode

Re: Pack and Unpack are Broken for > 0x7FFF_FFFF (in 5.10.0)

2008-03-16 08:51:24
On Sun, 16 Mar 2008 I wrote
....
Consider:

 use warnings ;

 sub sp {
   my ($v) = @_ ;

   my $p = pack('U', $v) ;
   my @t = unpack('C*', $p) ;

   printf '\x%04X_%04X: ', ($v >> 16), $v & 0xFFFF ;
   print map sprintf('\x%02X', $_), @t ;
   print "\n" ;
 } ;
...
>  sp(0x7FFF_FFFF) ;

...
v5.8.8 result:

 \x7FFF_FFFD: \xFD\xBF\xBF\xBF\xBF\xBD
...
v5.10.0 result:

 \x7FFF_FFFD: \x7FFFFFFD

I didn't see this in all the clutter of warnings.

I thought 'C' worked on Octets ? Which is what 5.8.8 appears to be doing, but not 5.10.0.

Chris
--
Chris Hall               highwayman.com

Attachment: signature.asc
Description: PGP signature

<Prev in Thread] Current Thread [Next in Thread>