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


in reply to Re: Search @INC And Display Modules
in thread Search @INC And Display Modules

You can get rid of that humongous hash def and deal with different perl versions by using Module::CoreList

Actually, I tried that, and ran into a couple of problems with it:

  1. Module::CoreList is not installed by default on all systems. This would mean I would either have to include it in my code or have people download and install it -- which makes it less of the autonomous program I wanted it to be. (For instance, not everyone has the rights to install modules on their servers).
  2. Module::CoreList is incomplete. I don't know if it's because my version of Perl isn't supported or if I was using it wrong, but I got many of the Modules from perlmodlib in the output.
  3. Module::CoreList contains a big hash like the one right there, except mine worked for what was needed.
  4. I didn't need hashes of all the modules for all versions of perl. A hash of all of the modules was sufficient because if it was installed, 10 to 1 it came with Perl
  5. After playing around with it for a couple minutes, I figured it would be much quicker to create a macro in Emacs to grab the modules from perldoc perlmodlib, and it was.
  6. I also contemplated ripping modules from perldoc perlmodlib so that I would be sure of having the right modules for that particular version of Perl. I decided against it because that assumed that perldoc was installed, that the user had access rights to it, and that all perlmodlib pages were formatted a certain way (i.e. I'd have to do some debugging on different versions of Perl to be sure -- which seemed like more trouble then it was worth).

Want to support the EFF and FSF by buying cool stuff? Click here.