in reply to Reference as the only Object element

Ok. Let me get this straight. You have a container object which does a mapping between some set of identifier and some set of other objects. Sounds pretty simple to me.

I think your confusion lies in the implementation details. You're not seeing the forest for the trees. Step back a moment and let's design this, then implement it.

You have some container object. That container object shouldn't care what objects it contains. More specifically, it shouldn't care how those objects are implemented.

This would mean that instead of doing @{$self->{$key}}, you would do something like @{$self->{$key}->getList}. This allows the contained object to determine how to store itself. In addition, it allows for your container to store more than one type of object.

So, what this means is you have to create a bunch of methods that will do stuff, like get the list being stored in the inner object.

Does this make sense so far?

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.