in reply to Re^2: Perl data notation
in thread Perl data notation

It may not solve all the problems you mentioned, but:

$ perl -MData::Dump=pp -le '$ref = []; print pp eval pp [$ref, $ref];' do { my $a = [[], 'fix']; $a->[1] = $a->[0]; $a; }