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.