NAME Tree::Dump - Dump a tree object VERSION This document describes version 0.061 of Tree::Dump (from Perl distribution Tree-Dump), released on 2021-06-27. 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([ \%opts, ] $tree) => str Dump tree to STDOUT and return it. See "tdmp" for list of known options. tdmp([ \%opts, ] $tree) => str Return dumped tree. If first argument is a plain hashref, it will be regarded as options. Known options: * get_children_method => str (default: children) Example: get_children_method => "get_children" By default, "children" is the method that will be used on node objects to retrieve children nodes. But you can customize that using this option. Note that the method must return either a list or arrayref of nodes. * indent => int (default: 2) Number of spaces for each indent level. HOMEPAGE Please visit the project's homepage at <https://metacpan.org/release/Tree-Dump>. SOURCE Source repository is at <https://github.com/perlancar/perl-Tree-Dump>. BUGS Please report any bugs or feature requests on the bugtracker website <https://rt.cpan.org/Public/Dist/Display.html?Name=Tree-Dump> When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. SEE ALSO Tree::To::TextLines AUTHOR perlancar <perlancar@cpan.org> COPYRIGHT AND LICENSE This software is copyright (c) 2021, 2020, 2016 by perlancar@cpan.org. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.