in reply to identifying module dependiencies

AFAIK, Module:Depends a) requires that the module in question has a Meta.YAML file and b) only checks what modules are required to make and load the module. This will miss, for example, modules that do on-the-fly requiring i.e. that depend on another module in certain situations but do not depend on that other module for just making and loading the original module.

Replies are listed 'Best First'.
Re^2: identifying module dependiencies
by adrianh (Chancellor) on Jun 11, 2004 at 19:07 UTC
    a) requires that the module in question has a Meta.YAML file

    That's why there's Module::Depends::Intrusive :-)

    b) only checks what modules are required to make and load the module. This will miss, for example, modules that do on-the-fly requiring i.e. that depend on another module in certain situations but do not depend on that other module for just making and loading the original module.

    True, but it's impossible to determine this programatically in the general case. The other issue is that it conflates build-time, test-time and run-time dependencies. If you're dealing with PPMs, for example, you don't really care about build- or test-time dependencies.

Re^2: identifying module dependiencies
by blueAdept (Beadle) on Jun 11, 2004 at 17:47 UTC
    It does seem an imperfect science, only useful to the extent that module authors implement it.

    What inspired the question was that I'm trying to build/install perl with all the modules I need, but before doing the actual work I wanted to document it all first. Pull all the files at once, and then build/install them all one by one in the most sensible order. I thought about creating a spreadsheet listing the modules I want, and each's dependencies - but why do that work manually if there's a dynamic means. Dynamic would be more accurate.(and less work)

    Looks like this is the spec for the META.yml files. It does support a "recommended" state which is probably where those modules you mention that are only used in certain circumstances but not strict dependiences would fit.