Стоит отметить, что perldoc perllocal будет сообщать только о модулях, установленных через CPAN. Если кто-то устанавливает модули вручную, он не найдет их. Кроме того, если у вас есть несколько человек, устанавливающих модули, и perllocal.pod находится под контролем исходного кода, люди могут неправильно разрешать конфликты и портить список (например, это произошло здесь на работе).
К сожалению, решение, кажется, проходит через @INC с File :: Find или чем-то подобным. Тем не менее, это не только найти модули, но и найти соответствующие модули в дистрибутиве. Например, он будет сообщать о TAP :: Harness и TAP :: Parser в дополнение к фактическому имени дистрибутива Test :: Harness (при условии, что у вас версия 3 или выше). Вы можете сопоставить их с именами дистрибутивов и отбросить те имена, которые не совпадают, но тогда вы, возможно, отбрасываете локально собранные и установленные модули.
Я полагаю, что в работе по индексированию бэкпана Брайана Д Фоя должен быть код для передачи его в файл .pm, и он будет пытаться определить распределение, но даже иногда это не удается, потому что то, что в пакете, не обязательно установлено (см. Devel :: Cover :: Inc для примера).