Не совсем понимаю, что вы пытаетесь сделать. Возможно, вы можете привести несколько конкретных примеров?
Вы можете хранить объекты в хешах, как и любую другую переменную в perl.
my %hash = ( );
$hash{'foo'} = new Foo(...);
$hash{'bar'} = new Bar(...);
Предполагая, что вы знаете, что объект, хранящийся в 'foo', является объектом Foo, а в 'bar' является объектом Bar, вы можете извлечь объекты из хеша и использовать его.
$hash{'foo'}->foo_method();
$hash{'bar'}->bar_method();
Возможно, вы захотите программно определить это поведение во время выполнения. Это предполагает, что вы придерживаетесь этой схемы именования.