in reply to Memory Optimization

IlyaM is right, but if you must follow this design, try Data::Dumper. Make each file contain a single object, so that $foo = do "foo.pl"; returns a reference to the struct. That will minimize copying. It will probably be useful to read them in a BEGIN block.

After Compline,
Zaxo