So, if the problem is that
Data::Dumper dumps some structures wrong, then submit a patch to
Data::Dumper, rather than inventing something different that a lot of people won't know about and leaving the buggy code in a core distribution.
As for your example:
$x = 4;
$xx = sub{\@_}->(\$x, \$x);
$y = \4;
$yy = sub{\@_}->($y, $y);
bless \$xx->[0], 'Foo';
bless \$xx->[1], 'Bar';
bless \$yy->[0], 'Foo';
bless \$yy->[1], 'Bar';
use Data::Dumper;
print Dumper $xx, $yy;
I suspect you haven't seen the
Purity flag, which needs to be set in some more complex data, such as yours.
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.