Skip Menu |
 

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Storable CPAN distribution.

Report information
The Basics
Id: 18161
Status: new
Priority: 0/
Queue: Storable

People
Owner: Nobody in particular
Requestors: florian [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 2.15
Fixed in: (no value)



Subject: nfreeze -> thaw transforms integer values >= 128 into strings
Download (untitled) / with headers
text/plain 1.4k
=== #!/usr/bin/perl use warnings; use strict; use Devel::Peek; use Storable qw/nfreeze thaw/; my $a = [ 127, 128 ]; Dump $a; print 'x' x 60, "\n"; my $b = Storable::thaw(Storable::nfreeze($a)); Dump $b; === prints: === SV = RV(0x1820aa4) at 0x180d03c REFCNT = 1 FLAGS = (PADBUSY,PADMY,ROK) RV = 0x1801380 SV = PVAV(0x18307e4) at 0x1801380 REFCNT = 1 FLAGS = () IV = 0 NV = 0 ARRAY = 0x300c00 FILL = 1 MAX = 1 ARYLEN = 0x0 FLAGS = (REAL) Elt No. 0 SV = IV(0x18354bc) at 0x1801434 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 127 Elt No. 1 SV = IV(0x18354c0) at 0x1801470 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 128 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx SV = RV(0x1820ab8) at 0x1831744 REFCNT = 1 FLAGS = (PADBUSY,PADMY,ROK) RV = 0x1831894 SV = PVAV(0x1802894) at 0x1831894 REFCNT = 1 FLAGS = () IV = 0 NV = 0 ARRAY = 0x305390 FILL = 1 MAX = 3 ARYLEN = 0x0 FLAGS = (REAL) Elt No. 0 SV = IV(0x18354c4) at 0x180129c REFCNT = 1 FLAGS = (IOK,pIOK) IV = 127 Elt No. 1 SV = PV(0x1812494) at 0x1809a48 REFCNT = 1 FLAGS = (POK,pPOK) PV = 0x30b990 "128"\0 CUR = 3 LEN = 4 === Note that numeric values >= 128 has no longer an IV and isn't flagged as IOK. The script produces this output on AIX 5.3 and on Mac OS X 10.4.5 (Darwin 8.5.0). Tested with Perl versions 5.8.6 (OS X) and 5.8.7 (AIX). Tested with Storable 2.15.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.