Tree::DAG_Node may look like overshooting, but
it does what it promises, i.e. a simple way of dealing
with complex tree structures. I share your chagrin about lack
of tests, but having seen that knowledgeable people like merlyn and perrin
use it, I feel confident that it must not be as
bad as you may think.
A simple example that makes me love this module:
#!/usr/bin/perl -w
use strict;
use Tree::DAG_Node;
my $tree =
[
[
'Node1'
],
[
[ 'GrandChild1' ],
[ 'GrandChild2' ],
'Node2'
],
'Root'
];
my $dagnode= Tree::DAG_Node->lol_to_tree($tree);
print map {"$_\n"} @{ $dagnode->draw_ascii_tree };
__END__
And the output is:
|
<Root>
/-----------------\
| |
<Node1> <Node2>
/-------------\
| |
<GrandChild1> <GrandChild2>
There is also a nice Introduction to Tree::DAG_Node in Tutorials. |