One of the problems with dependency checking is dealing with a module
that optionally uses other modules.  For instance a module might have
drivers for a bunch of different backends, each of which is optional.
For instance, CGI::Session or Class::DBI::Loader.

Such a relationship, even though not technically a dependency, is still
really the same level of endorsement for the other module.

This kind of relationship is common in plugin-based systems, where
features will be used if they are available, but ignored if they are
not.  So plugins may be widely used in other CPAN modules but not
actually listed in anyone's prerequisites.

I think the correct way to deal with this is to use 'recommends' in
Build.PL.  I don't know if CPANTS includes the 'recommends' data, but it
probably should.  I also don't know if there's a MakeMaker equivalent.

I doubt that most modules list their optional dependencies, but that's
probably not a big deal.  If someone uses my module but doesn't list it
in recommends, and I want my prereq point, then I'll bug them to add it.


Michael


---
Michael Graham <[EMAIL PROTECTED]>

Reply via email to