On Oct 27, 2005, at 9:00 PM, Jay Strauss wrote:
> I'm building my first CPAN module. Is there a way to learn all the
> dependences of a module, or do I need to build a clean box, and do
> trial
> by error, till I get the prerequisite list?
Well since you wrote the code you probably know what non-core modules
you used. It's not your responsibility as the module author to delve
into the dependencies of your initial dependencies.
So for example let's say your module has Net::Amazon as a dependency--
you don't have to include: Log::Log4perl, XML::Simple,
LWP::UserAgent, Time::HiRes and URI as dependencies in your
Makefile.PL. The cpan shell will follow them for you.
One really nice thing about the perl developer community is the
testing infrastructure that has grown out of CPAN. When you initially
upload your module you'll get back smoke reports via email which
detail how the installation went on different systems [1]. This can
often help you discover missing dependencies that need to be itemized
in your Makefile.PL.
If you're not sure what modules you've used I'd grep for 'use '
statements, and run them through Module::Corelist [2] to figure out
if you want to include it or not.
//Ed
[1] http://testers.cpan.org
[2] http://search.cpan.org/dist/Module-CoreList