Skip Menu |

This queue is for tickets about the Data-SExpression CPAN distribution.

Report information
The Basics
Id: 34804
Status: resolved
Priority: 0/
Queue: Data-SExpression

People
Owner: Nobody in particular
Requestors: avinash.vaidyanathan [...] gmail.com
Cc:
AdminCc:

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



Subject: cpan module bugs
Date: Wed, 9 Apr 2008 15:18:27 -0700
To: bug-Data-SExpression [...] rt.cpan.org
From: "Avinash Varadarajan" <avinash.vaidyanathan [...] gmail.com>
1) There is circular reference inside the Data::SExpression object, and so a Data::SExpression->new() is inside a loop, causes a memory leak. *use strict; use Data::SExpression; use Devel::Cycle; my $ds = Data::SExpression->new(); find_cycle($ds);* gives *Cycle (1): $Data::SExpression::A->{'parser'} => \%Data::SExpression::Parser::B $Data::SExpression::Parser::B->{'USER'} => \%C $C->{'HANDLER'} => \%Data::SExpression::A * 2) The parser does not parse "0"s in the input. *use strict; use Data::SExpression; my $ds = Data::SExpression->new(); my $sexp = $ds->read( '("value" ("branch_model_gotoh_0_12flymod30-pecan-95TDD" "1"))'); print "@{$sexp}\n"; print "@{$sexp->[1]}\n";* gives *value ARRAY(0x98e9108) branch_model_gotoh_0_12flymod30-pecan-95TDD 1* as expected, but *use strict; use Data::SExpression; my $ds = Data::SExpression->new(); my $sexp = $ds->read( '("value" ("branch_model_gotoh_0_12flymod30-pecan-95TDD" "0"))'); print "@{$sexp}\n"; print "@{$sexp->[1]}\n"; * gives *value ARRAY(0x8455108) branch_model_gotoh_0_12flymod30-pecan-95TDD * the "0" does not get parsed.
Thanks for the reports. v0.36, which I just CPAN'd, should contain tests and fixes for both of these bugs.