Hi, this is just a heads up about a bug report I just filed to p5p and the maintainer of Data::Dumper. If you set $Data::Dumper::Sortkeys=1 and do not set $Data::Dumper::Useperl=1 under 5.6.1 (win32 at least) you will end up with either erroneous data or a segfault. If you set both at the same time this problem doesnt arise.
Note that this bug does not appear to affect 5.8.0 at all.
use Data::Dumper; use strict; use warnings; $|++; printf "D::D version %s\n",Data::Dumper->VERSION; for my $sk (0,1) { print "\$Data::Dumper::Sortkeys=$sk\n"; $Data::Dumper::Sortkeys=$sk; for my $up (1,0) { print "\$Data::Dumper::Useperl=$up\n"; $Data::Dumper::Useperl=$up; my %rev; my %name; print "Dumper:\n",Dumper(\%rev,\%name),"\n"; } } print "Done\n"; __END__ D::D version 2.121 $Data::Dumper::Sortkeys=0 $Data::Dumper::Useperl=1 Dumper: $VAR1 = {}; $VAR2 = {}; $Data::Dumper::Useperl=0 Dumper: $VAR1 = {}; $VAR2 = {}; $Data::Dumper::Sortkeys=1 $Data::Dumper::Useperl=1 Dumper: $VAR1 = {}; $VAR2 = {}; $Data::Dumper::Useperl=0 Use of uninitialized value in print at c:\temp\test_dd.pl line 15. Dumper: $VAR2 = {};
I post this only as a public service, as I know many people here depend on DD in many ways, and this is a serious bug that is not picked up by the test suite.
Cheers,
---
demerphq
demerphq
First they ignore you, then they laugh at you, then they fight you, then you win.
-- Gandhi
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Serious Bug in latest Data::Dumper under 5.6.1
by simonflk (Pilgrim) on Oct 24, 2003 at 17:19 UTC | |
Re: Serious Bug in latest Data::Dumper under 5.6.1
by IlyaM (Parson) on Oct 27, 2003 at 12:40 UTC |
Back to
Meditations