Sorry for my long post. I now summarized my real problem in a small example.

#!/usr/bin/perl use strict; use warnings; use Data::TreeDumper; my $s = {'name' => 'Homer', 'surname' => 'Simpson', 'kids' => [ { 'name' => 'Bart', 'surname' => 'Simpson' }, { 'name' => 'Lisa', 'surname' => 'Simpson' }, { 'name' => 'Maggie', 'surname' => 'Simpson' }], 'wife' => { 'name' => 'Marge', 'surname' => 'Simpson' }}; my $OnlyName = sub { my $s = shift ; if('HASH' eq ref $s) { # TODO return('HASH', undef, grep { /^name$/} keys %$s) ; } return(Data::TreeDumper::DefaultNodesToDisplay($s)) ; }; print DumpTree($s, 'The Simpsons', DISPLAY_ADDRESS => 0, FILTER => $OnlyName) ; ############################################################ # UNFILTERED OUTPUT ############################################################ #The Simpsons #|- kids #| |- 0 #| | |- name = Bart #| | `- surname = Simpson #| |- 1 #| | |- name = Lisa #| | `- surname = Simpson #| `- 2 #| |- name = Maggie #| `- surname = Simpson #|- name = Homer #|- surname = Simpson #`- wife # |- name = Marge # `- surname = Simpson ############################################################ # FILTERED OUTPUT (only name) ############################################################ #The Simpsons #|- kids #| |- 0 #| | |- name = Bart #| |- 1 #| | |- name = Lisa #| `- 2 #| |- name = Maggie #|- name = Homer #`- wife # |- name = Marge

I have a hash. I want to print it with Data::TreeDumper. My goal is it to only print the keys of the hash which are called "name". (see FILTERED OUTPUT (only name)).

How do I have to write the filter? My suggestion was

return('HASH', undef, grep { /^name$/} keys %$s) ;
but this is NOT working.

Thank you for your help.


In reply to Re^2: Help to understand the Data::TreeDumper Filters by Dirk80
in thread Help to understand the Data::TreeDumper Filters by Dirk80

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.