Data-TreeDumper
view release on metacpan or search on metacpan
TreeDumper.pm view on Meta::CPAN
package Data::TreeDumper ;
use 5.006 ;
use strict ;
use warnings ;
use Carp ;
use Check::ISA ;
require Exporter ;
our @ISA = qw(Exporter) ;
our %EXPORT_TAGS = ('all' => [ qw() ]) ;
our @EXPORT_OK = ( @{$EXPORT_TAGS{'all'} } ) ;
our @EXPORT = qw(DumpTree PrintTree DumpTrees CreateChainingFilter MD1 MD2) ;
our $VERSION = '0.43' ;
my $WIN32_CONSOLE ;
BEGIN
{
if($^O ne 'MSWin32')
{
eval "use Term::Size;" ;
die $@ if $@ ;
}
else
{
eval "use Win32::Console;" ;
die $@ if $@ ;
$WIN32_CONSOLE= new Win32::Console;
}
}
use Text::Wrap ;
#use Text::ANSI::Util qw(ta_wrap);
use Class::ISA ;
use Sort::Naturally ;
use constant MD1 => ('MAX_DEPTH' => 1) ;
use constant MD2 => ('MAX_DEPTH' => 2) ;
#-------------------------------------------------------------------------------
# setup values
#-------------------------------------------------------------------------------
our %setup =
(
FILTER => undef
, FILTER_ARGUMENT => undef
, LEVEL_FILTERS => undef
, TYPE_FILTERS => undef
, USE_ASCII => 1
, MAX_DEPTH => -1
, INDENTATION => ''
, NO_OUTPUT => 0
, START_LEVEL => 1
, VIRTUAL_WIDTH => 160
, DISPLAY_ROOT_ADDRESS => 0
, DISPLAY_ADDRESS => 1
, DISPLAY_PATH => 0
, DISPLAY_OBJECT_TYPE => 1
, DISPLAY_INHERITANCE => 0
, DISPLAY_TIE => 0
, DISPLAY_AUTOLOAD => 0
, DISPLAY_PERL_SIZE => 0
, DISPLAY_PERL_ADDRESS => 0
, NUMBER_LEVELS => 0
, COLOR_LEVELS => undef
, GLYPHS => ['| ', '|- ', '`- ', ' ']
, QUOTE_HASH_KEYS => 0
, DISPLAY_NO_VALUE => 0
, QUOTE_VALUES => 0
, REPLACEMENT_LIST => [ ["\n" => '[\n]'], ["\r" => '[\r]'], ["\t" => '[\t]'] ]
, DISPLAY_NUMBER_OF_ELEMENTS_OVER_MAX_DEPTH => 0
, ELEMENT => 'element'
, DISPLAY_CALLER_LOCATION=> 0
, __DATA_PATH => ''
, __PATH_ELEMENTS => []
, __TYPE_SEPARATORS => {
'' => ['<SCALAR:', '>']
, 'REF' => ['<', '>']
, 'CODE' => ['<CODE:', '>']
, 'HASH' => ['{\'', '\'}']
, 'ARRAY' => ['[', ']']
, 'SCALAR' => ['<SCALAR_REF:', '>']
}
) ;
#----------------------------------------------------------------------
# package variables à la Data::Dumper (as is the silly naming scheme)
#----------------------------------------------------------------------
our $Filter = $setup{FILTER} ;
our $Filterarguments = $setup{FILTER_ARGUMENT} ;
our $Levelfilters = $setup{LEVEL_FILTERS} ;
( run in 2.014 seconds using v1.01-cache-2.11-cpan-524268b4103 )