in reply to Develop a Tree

Something like this may help?
package Tree; sub new { my $class = shift; my $self = { 'name' => $name, 'root' => undef, }; return bless $self, $class; } sub addParent { my $self = shift; my $parent = shift; $self->{'parent'} = $parent; } sub getParent { my $self = shift; return $self->{'parent'}; } sub setInherits { my $self = shift; my $inherits = shift; $self->{'inherits'} = $inherits; } sub getInherits { my $self = shift; return $self->{'inherits'}; } sub getRoot { my $self = shift; return $self->{"root"} if (exists $self->{"root"}); if (defined $self->{"parent"}) { $self->{"root"} = $self->{"parent"}->getRoot(); } else { $self->{"root"} = $self; } return $self->{"root"}; } return "Tree";
And you can create several "Tree"s as Nodes, doing a tree.