SYNOPSIS

     use Tree::Dump; # exports td() and tdmp()
     td($tree);

    Sample output:

     (Tree::Example::HashNode) {_parent=>undef,id=>1,level=>0}
     |-- (Tree::Example::HashNode::Sub1) {id=>2,level=>1}
     |   \-- (Tree::Example::HashNode::Sub2) {id=>5,level=>2}
     |       |-- (Tree::Example::HashNode::Sub1) {id=>7,level=>3}
     |       |   \-- (Tree::Example::HashNode::Sub2) {id=>15,level=>4}
     |       |-- (Tree::Example::HashNode::Sub1) {id=>8,level=>3}
     |       |-- (Tree::Example::HashNode::Sub1) {id=>9,level=>3}
     |       \-- (Tree::Example::HashNode::Sub1) {id=>10,level=>3}
     |-- (Tree::Example::HashNode::Sub1) {id=>3,level=>1}
     |   \-- (Tree::Example::HashNode::Sub2) {id=>6,level=>2}
     |       |-- (Tree::Example::HashNode::Sub1) {id=>11,level=>3}
     |       |   \-- (Tree::Example::HashNode::Sub2) {id=>16,level=>4}
     |       |-- (Tree::Example::HashNode::Sub1) {id=>12,level=>3}
     |       |-- (Tree::Example::HashNode::Sub1) {id=>13,level=>3}
     |       \-- (Tree::Example::HashNode::Sub1) {id=>14,level=>3}
     \-- (Tree::Example::HashNode::Sub1) {id=>4,level=>1}

    Sample output when rendering an array-backed tree:

     (Tree::Example::ArrayNode) [undef,undef,undef,"<obj>","<obj>","<obj>"]
     |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>","<obj>"]
     |   \-- (Tree::Example::ArrayNode::Sub2) [undef,undef,"<obj>","<obj>","<obj>","<obj>","<obj>"]
     |       |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>","<obj>"]
     |       |   \-- (Tree::Example::ArrayNode::Sub2) [undef,undef,"<obj>"]
     |       |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>"]
     |       |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>"]
     |       \-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>"]
     |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>","<obj>"]
     |   \-- (Tree::Example::ArrayNode::Sub2) [undef,undef,"<obj>","<obj>","<obj>","<obj>","<obj>"]
     |       |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>","<obj>"]
     |       |   \-- (Tree::Example::ArrayNode::Sub2) [undef,undef,"<obj>"]
     |       |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>"]
     |       |-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>"]
     |       \-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>"]
     \-- (Tree::Example::ArrayNode::Sub1) [undef,undef,"<obj>"]

DESCRIPTION

    This module is useful for debugging. The interface is modeled after
    Data::Dmp (which in turn is modeled after Data::Dump). Instead of dd,
    this module exports td which you can use to dump a tree object to
    STDOUT. There is also tdmp (like Data::Dmp's dmp) which return dumped
    data in a string.

    Any tree object can be printed as long as it supports parent and
    children methods. See Role::TinyCommons::Tree::Node for more
    information about the requirements.

FUNCTIONS

 td($tree) => str

    Dump tree to STDOUT and return it.

 tdmp($tree) => str

    Return dumped tree.

SEE ALSO

    Tree::To::TextLines

