> For any existing apps (eg, Data::Dumper) that want to > deal with it, they could always fallback to detecting > something as shared and saving its id (ie, the shared > interpretter version's address) to detect cycles. Not > pretty, but effective.
I looked into fixing Data::Dumper for this. The circular reference checking is done both in Perl (for the pure-Perl version) and in XS (the usual version). It'll take me awhile to figure out how to do it in XS.