in reply to Global objects?

If you access a hash item, the sigil changes from % to $:
our %test; $test{item1} = Person->new("...", ...); $test{item2} = Person->new("...", ...);
Regarding the threads: I don't really know. You can use threads::shared, but I don't know if that works for objects. Maybe the threads tutorial is a good starting place for you.