in reply to Re: Grabbing slices
in thread Grabbing slices

Actually, now I come to look at the output from dumper:

$VAR1 = [ 0, '1', 2, '2', 3, 5 ];

I'm wondering about the significance of some of the numbers coming out in quotes. At first I wondered if it had something to do with the brackets on the push line.

Can anyone enlighten me?

Cheers,
Dom.

Replies are listed 'Best First'.
Re: Re: Re: Grabbing slices
by Util (Priest) on May 03, 2003 at 21:59 UTC

    It is a bug in the XS version of Data::Dumper before v2.11. To see your version id:

    perl -MData::Dumper -wle 'print $Data::Dumper::VERSION'
    2.102 is in the base code for Perl 5.6.1, and has the bug.
    2.12 is in the base code for Perl 5.8.0, and does not have the bug.

    My testing script:

    perl -MData::Dumper -wle '$Data::Dumper::Indent=0;print Dumper [ map { + ($_, $_+0) } 0..3 ]'
    Good output:
    $VAR1 = [0,0,1,1,2,2,3,3];
    Buggy output:
    $VAR1 = [0,'0',1,'1',2,'2',3,'3'];

    If you set Useqq, as a side-effect, it will force Data::Dumper to use the pure-Perl forms of its code.
    This is slower, but will work around the bug in older versions.

    $Data::Dumper::Useqq = 1;