use strict; use warnings; use Storable; use Data::Dump::Streamer; my $ref = [ {a => 1, b => 2, c => 3}, [1, 2, 3], {x => [4, 5, 6], y => [7, 8, 9]}, ]; my $org = Dump ($ref)->Out (); mangle ($ref); my $after = Dump ($ref)->Out (); print "Structure unmangled" if "$org" eq "$after"; sub mangle { my $cloned = Storable::dclone ($_[0]); $cloned->[0]{a} = 6; $cloned->[1][0] = 23; Dump $cloned; }