in reply to
Re^2: Why is a hash the default "object" in oo perl?
in thread Why is a hash the default "object" in oo perl?
I once had an LRU cache purge itself using DESTROY on linked list nodes, that knew how to delete themselves from a hash. The only way I found was to tell the nodes which lookup key they had.
Retrospectively i would have the hash point to dually linked list nodes, which knew their keys too. Then each access would not create a new node, but rather bubble it up. That way the linked list doesn't grow.
To purge either implementation, you just pop off the linked list, and let the ref count reach zero.