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.