http://qs1969.pair.com?node_id=203151


in reply to Re: Check a script's module dependencies
in thread Check a script's module dependencies

Nicely done!

Yes, using internal Perl tools seems like a more robust approach than parsing source code. Frankly, I've got some reading to do to understand how your code does what it does...

Replies are listed 'Best First'.
Re^3: Check a script's module dependencies
by Aristotle (Chancellor) on Oct 06, 2002 at 12:45 UTC

    It's not very complicated once you know how loading modules works: basically, the @INC array contains all the paths to any directories where perl should look for modules.

    Usually, these are only strings, but you can also put a reference to a subroutine in there; when perl is searching for modules, it will call that routine if it hasn't found the module by one of the paths that appear before it in the array. Along with various parameters passed to such a routine is the module's path in the second parameter which is in this case copied to $_ in order to massage it to my liking.

    Because this is a module, the code in its main body gets executed as soon as the module is loaded, at compile time, and therefor gets to modify the @INC array before anything else has happened.

    Makeshifts last the longest.