Hey there choroba, thanks for getting back to me.
So to clear up a few things. First, thanks for the tip about strict and warnings. I also meant methods, as you implied.
I guess what I'm considering is that I want to be able to create additional classes out of skeletons of other classes that are set at use() time if possible. So when I use MyApp::Object, I also want MyApp::Object::Collection to be available as an object that could get returned, and it is built via convention. It seems like I could create an on-the-fly class and store that to make instances of it when I return something that would be a collection, and maybe that is the right way to do it, but that feels strange to me when you could just store traditional stuff in the symbol table. I'm academically exploring how I can use meta programming to reduce having to generate a bunch of classes at use time and avoid potential errors of copy and paste boilerplate stuff.
Thanks again!