---
name: "Data::TreeDumper::OO"
section: "3pm"
platform: "linux"
package: "libdata-treedumper-oo-perl"
version: "0.10-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Data::TreeDumper::OO"
---

# Data::TreeDumper::OO(3pm)

Object oriented interface to Data::TreeDumper

## NAME

Data::TreeDumper::OO - Object oriented interface to Data::TreeDumper

## SYNOPSIS

```
  use Data::TreeDumper ;
  use Data::TreeDumper::OO ;

  my $sub = sub {} ;

  my $s =
  {
  A =>
        {
        a =>
                {
                }
        , bbbbbb => $sub
        , c123 => $sub
        , d => \$sub
        }

  , C =>
        {
        b =>
                {
                a =>
                        {
                        a =>
                                {
                                }

                        , b => sub
                                {
                                }
                        , c => 42
                        }

                }
        }
  , ARRAY => [qw(elment_1 element_2 element_3)]
  } ;

  my $dumper = new Data::TreeDumper::OO() ;
  $dumper->UseAnsi(1) ;
  $dumper->SetMaxDepth(2) ;
  $dumper->SetFilter(\&Data::TreeDumper::HashKeysSorter) ;

  print $dumper->Dump($s, "Using OO interface") ;
  print $dumper->DumpMany
          (
            [$s, "title", MAX_DEPTH => 1]
          , [$s2, "other_title", DISPLAY_ADDRESS => 0]
          , USE_ASCII => 1
          , MAX_DEPTH => 5
          ) ;
```

## Output

```
  title:
  |- A [H1]
  |  |- a [H2]
  |  |- bbbbbb = CODE(0x8139fa0) [C3]
  |  |- c123 [C4 -> C3]
  |  `- d [R5]
  |     `- REF(0x8139fb8) [R5 -> C3]
  |- ARRAY [A6]
  |  |- 0 [S7] = elment_1
  |  |- 1 [S8] = element_2
  |  `- 2 [S9] = element_3
  `- C [H10]
     `- b [H11]
        `- a [H12]
           |- a [H13]
           |- b = CODE(0x81ab130) [C14]
           `- c [S15] = 42
```

## DESCRIPTION

Object oriented interface to Data::TreeDumper.

### Object oriented Methods

```
  # constructor
  my $dumper = new Data::TreeDumper::OO(MAX_DEPTH => 1) ;

  $dumper->UseAnsi(1) ;
  $dumper->UseAscii(1) ;
  $dumper->SetMaxDepth(2) ;
  $dumper->SetIndentation('   ') ;
  $dumper->SetVirtualWidth(80) ;
  $dumper->SetFilter(\&Data::TreeDumper::HashKeysSorter) ;
  $dumper->SetLevelFilters({1 => \&Filter_1, 5 => \&Filter_5) ;
  $dumper->SetStartLevel(0) ;
  $dumper->QuoteHashKeys(1) ;
  $dumper->QuoteValues(0) ;
  $dumper->DisplayNoElements(1) ;
  $dumper->DisplayRootAddress(1) ;
  $dumper->DisplayAddress(0) ;
  $dumper->DisplayObjectType(0) ;
  $dumper->Displayinheritance(0) ;
  $dumper->DisplayAutoload(0) ;
  $dumper->DisplayTie(0) ;
  $dumper->DisplayPerlAddress(1) ;
  $dumper->DisplayPerlSize(0) ;
  $dumper->NumberLevels(2) ;
  $dumper->ColorLevels(\&ColorLevelSub) ;
  $dumper->SetGlyphs(['.  ', '.  ', '.  ', '.  ']) ;
  $dumper->NoOutput(1) ;
  $dumper->SetRenderer('DHTML') ;

  $dumper->Dump($s, "Using OO interface", %OVERRIDES) ;
  $dumper->DumpMany
            (
              [$s, "dump1", %OVERRIDES]
            , [$s, "dump2", %OVERRIDES]
            , %OVERRIDES
            ) ;
```

## DEPENDENCY

Data::TreeDumper.

## EXPORT

None.

## SEE ALSO

Data::TreeDumper - the base class for this module.

Data::Dumper - convert perl data values or variables to equivalent Perl syntax.

Data::Dumper::GUI - a graphical interface on top of Data::Dumper.

Data::Dumper::Sorted - like Data::Dumper but sorts hash keys into alphabetic order.

Data::Dumper::HTML - dump data into HTML with syntax highlighting.

Data::Dumper::Simple and Data::Dumper::Names work like Data::Dumper but include the original variable names in the output.

Data::Dumper::Perltidy - combines Data::Dumper and Perl::Tidy to stringify data in a pretty-printed format.

Text::Tree::Indented - format tree data in an indented tree format, using ASCII or box-rule characters.

## REPOSITORY

\<https://github.com/neilbowers/Data-TreeDumper-OO\>

## AUTHOR

Khemir Nadim ibn Hamouda. \<nadim@khemir.net\>

## COPYRIGHT AND LICENSE

Copyright (c) 2003-2014 Nadim Ibn Hamouda el Khemir. All rights reserved.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

If you find any value in this module, mail me! All hints, tips, flames and wishes are welcome at \<nadim@khemir.net\>.
