use Data::Dumper (); my $foo = [1..5]; my $bar = [ [6..10], $foo ]; Data::Dumper::init_refaddr_format() # Workaround if *Data::Dumper::init_refaddr_format{CODE}; # Backwards compat my $d = Data::Dumper->new([ $bar ], [ '$bar' ]); $d->Seen({ '$foo' => $foo }); print $d->Dump(); #### $bar = [ [ 6, 7, 8, 9, 10 ], $foo ];