in reply to Large datastructure caching

Actually the code shown doesn't show the worst part of the inelegance, which happens when one of the cached object handles tries to invoke a "private" method:
sub _internal_method { my ($class,$id,@params) = @_; my $self = \%{$handles[$id]}; ...

rdfield