http://www.perlmonks.org?node_id=574615

rinceWind has asked for the wisdom of the Perl Monks concerning the following question:

I have a need for trawling the existing Perl code that has already been installed. Fine, it looks on the surface that rather than hand rolling something, ExtUtils::Installed with its modules method should do the trick.

Sadly, I find that EU::I is missing huge swathes of modules on my system. Diving into the code, I find that it only looks in two places: $config{archlibexp} and $config{sitearchexp}. Why oh why, I ask myself, just these special places? Surely the code should be traversing @INC. Heck, you could even have custom directories added via use lib or $ENV{PERL5LIB} that you want to be visible.

Maybe at the time EU::I was crafted (crufted?) there were assumptions about perl directories that could be relied on. This is clearly not the case now, and I am wondering: should this be raised as a bug? Also, how much legacy cruft might be relying on this behaviour?

I see that gellyfish has been down this road before. However, I am reluctant to patch locally ExtUtils::Installed, as it is bound to get reverted at some future point in time. Has anything been formally presented? What was the reaction?

So, I'm looking at hand-rolling something that does the business. Unless there's another candidate module out there that I'm unaware of (please tell me). I intend to build this generically and release it to CPAN.

--

Oh Lord, won’t you burn me a Knoppix CD ?
My friends all rate Windows, I must disagree.
Your powers of persuasion will set them all free,
So oh Lord, won’t you burn me a Knoppix CD ?
(Missquoting Janis Joplin)