Actually, I thought I had spelt out what I was looking for pretty carefully.

I am dealing with a huge (> 500 MB) heavily nested data structure consisting of lots of small hashes and arrays. Data::Dumper

Produces this
`use Math::Pari qw[ :int factorint sqrtint divisors PARI ];
$f = factorint 1000000;
print Dumper $f;
$VAR1 = bless( [
bless( [
bless( do{\(my $o = 33884400)}, 'Math::Pari'
+ ),
bless( do{\(my $o = 33884376)}, 'Math::Pari'
+ )
], 'Math::Pari' ),
bless( [
bless( do{\(my $o = 33884388)}, 'Math::Pari'
+ ),
bless( do{\(my $o = 33884364)}, 'Math::Pari'
+ )
], 'Math::Pari' )
], 'Math::Pari' );
Attempt to free unreferenced scalar: SV 0x19f41f4 at c:\Perl\bin\p1.pl
+ line 14, <STDIN> line 3.
Attempt to free unreferenced scalar: SV 0x19f42cc at c:\Perl\bin\p1.pl
+ line 14, <STDIN> line 3.
`

Or this

`$Data::Dumper::deepcopy=1;
print Dumper $f;
$VAR1 = bless( [
bless( [
bless( do{\(my $o = 33884400)}, 'Math::Pari'
+ ),
bless( do{\(my $o = 33884376)}, 'Math::Pari'
+ )
], 'Math::Pari' ),
bless( [
bless( do{\(my $o = 33884388)}, 'Math::Pari'
+ ),
bless( do{\(my $o = 33884364)}, 'Math::Pari'
+ )
], 'Math::Pari' )
], 'Math::Pari' );
Attempt to free unreferenced scalar: SV 0x19f43bc at c:\Perl\bin\p1.pl
+ line 14, <STDIN> line 5.
`

Or this

`$Data::Dumper::Indent=0;
print Dumper $f;
$VAR1 = bless( [bless( [bless( do{\(my $o = 33884400)}, 'Math::Pari' )
+,bless( do{\(my $o = 33884376)}, 'Math::Pari' )], 'Math::Pari' ),bles
+s( [bless( do{\(my $o = 33884388)}, 'Math::Pari' ),bless( do{\(my $o
+= 33884364)}, 'Math::Pari' )], 'Math::Pari' )], 'Math::Pari' );
Attempt to free unreferenced scalar: SV 0x19f37c8 at c:\Perl\bin\p1.pl
+ line 14, <STDIN> line 7.
`

When what I want is something more akin to this:

`print "[@$_]" for @$f;
[2 5]
[6 6]
`

Or this

`print "[@{[ join', ', map{ \"[@$_]\" } @$f ]}]";
[[2 5], [6 6]]
`

Except that there are thousands of arrays at varying depths of nesting.

I can write one myself, perhaps based around Data::Rmap or similar, but I thought I look and see if there is an existing one available. My search didn't turn up anything promising, but it seems a reasonably simple enough requirement that someone might know or have one already written?

Examine what is said, not who speaks.

Silence betokens consent.

Love the truth but pardon error.

Comment onRe: In need of a Dumper that has no pretentions to being anything else.DownloadCode