in reply to recursive complex structure or something like that?
I established a dictionary where each term can have children. The actual rooted structure is a tree. Or what Zaxo said. You have to watch out for circular references in my code.
my %dict; # A reverse index on %dict by id. while (my $line = <$fh>) { my ( $id, $parent, $term ) = split ' ', $line, 3; # Fixed from -3 +per sauoq $dict{$id}{'id'} = $id; $dict{$id}{'parent'} = $parent; push @{$dict{$parent}{'children'}}, $dict{$id}; } use Data::Dumper; print Dumper( \ %dict );
Or with the circular reference problem nixed
use Util::Scalar 'weaken'; my %dict; # A reverse index on %dict by id. while (my $line = <$fh>) { my ( $id, $parent, $term ) = split ' ', $line, 3; # Fixed per sauo +q $dict{$id}{'id'} = $id; $dict{$id}{'parent'} = $parent; push @{$dict{$parent}{'children'}}, $dict{$id}; weaken $dict{$parent}{'children'}[-1]; } use Data::Dumper; print Dumper( \ %dict );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: recursive complex structure or something like that?
by sauoq (Abbot) on Jul 26, 2003 at 02:27 UTC | |
|
Re: Re: recursive complex structure or something like that?
by Isanchez (Acolyte) on Jul 28, 2003 at 22:48 UTC | |
by diotalevi (Canon) on Jul 28, 2003 at 22:53 UTC |