I was hoping someone with more perl wisdom
would know where to look and what to look for.
Thank you haukex!
ExtUtils::Installed->modules() outputs
module names (and apparently the
occasional dist, oops) and
Module::Metadata
reads module names or files (but not dists).
These core modules are very reliable and designed to
work together. Anyway when ExtUtils::Installed->modules()
sends a dist name to Module::Metadata->new_from_module() and the lookup fails, the solution
is to send that dist name back to ExtUtils::Installed->files()
to get a list of the module files, which Module::Metadata->new_from_file()
understands. Thank you for helping me realize what's happening and
fix a very old and annoying bug (in my code).