in reply to Re: recursive complex structure or something like that?
in thread recursive complex structure or something like that?
Dear Saint Diotalevi
thank you so much for your reply,
I used the input file:
I used your code (only modified for input):1 0 domestic_animal 2 1 dog 3 2 terrier 4 2 collie 5 3 fox_terrier
$in = "sample.txt"; open (IN, $in) or die "cant open the in\n"; # my %dict; # A reverse index on %dict by id. # my %dict; # A reverse index on %dict by id. while (not eof (IN)) { $line = <IN>; my ( $id, $parent, $term ) = split (' ', $line, 3) ; $dict{$id}{'id'} = $id; $dict{$id}{'parent'} = $parent; push @{$dict{$parent}{'children'}}, $dict{$id}; } use Data::Dumper; print Dumper( \ %dict );
and this is what i get:
$VAR1 = { '4' => { 'parent' => '2', 'id' => '4' }, '1' => { 'parent' => '0', 'children' => [ { 'parent' => '1', 'children' => [ { 'parent' => '2' +, 'children' => [ + { + 'parent' => '3', + 'id' => '5' + } ] +, 'id' => '3' }, $VAR1->{'4'} ], 'id' => '2' } ], 'id' => '1' }, '3' => $VAR1->{'1'}{'children'}[0]{'children'}[0], '0' => { 'children' => [ $VAR1->{'1'} ] }, '2' => $VAR1->{'1'}{'children'}[0], '5' => $VAR1->{'1'}{'children'}[0]{'children'}[0]{'children' +}[0] };
what I would need is a print out such that each mother term has all its descendents printed to right.
Am I doing something wrong?
Thank you very much, Ivo
In Section
Seekers of Perl Wisdom