You might want to look at Leon Brocard's
GraphViz.pm module which is a Perl interface to the graphing tools of the
GraphViz project. These tools are for generating directed and undirected graphs of which a tree can be considered a subset.
As part of the same project, you might also be interested in
webdot which if a CGI program for generating graphs. There is an example of a
tree on the webdot
demo page.
Anyone else who is interested in this module should have a look at Leon's GraphViz.pm graphing
tutorial which shows examples of graphing Perl data structures, XML, sub-routine cross references, code profiling, modules dependencies, op-codes and the Perl grammar!!
You are also use this module to graph Parse::RecDescent grammars and regexes and, as if that wasn't enough, there is also
GraphViz::DBI for graphing database tables and relations and
GraphViz::ISA for graphing the @ISA hierarchy.
John.
--