4.1. Beyond Flat Files4.2. Object Serialization4.2.1. Our Schema and Classes4.2.2. Dumping Data4.2.3. Storing and Retrieving Data4.2.4. The Pruning Problem4.2.5. Multilevel DBMs4.2.6. Pixie4.3. Object Databases4.3.1. Object Database Pitfalls4.3.2. Tangram4.3.2.1. Tangram CRUD: create, read, update, delete4.4. Database Abstraction4.4.1. Trivial Mapping4.4.2. Class::DBI4.4.2.1. Relationships4.4.2.2. Class::DBI extensions4.4.3. Other Contenders4.5. Practical Uses in Web Applications4.5.1. Class::DBI and the Template Toolkit4.5.2. Maypole4.5.3. Other Application Frameworks4.6. Conclusion