Also, Ovid has just written Class::Sniff, which he detailed in a series of blog posts:
- Class::C3 Wierdness?
- What Did I just Write?
- Class::Sniff Now Detects "Unreachable" Methods
- Class::Sniff Reporting and Exported "Methods"
- Class::Sniff Now Detects "Duplicate" Methods
- Detecting Long Methods Without PPI
- Class::Sniff Notes
Not all of these entries relate directly to your problem, but I always find it interesting to follow the train of thought of module authors while they're initially developing a module.