Здесь действительно две проблемы. Один из них - запретить PAUSE индексировать дополнительные модули в вашем дистрибутиве, чтобы они не отображались в 02 пакетах , и как не обмануть пользователя при их установке.
Ответ PAUSE - это сочетание правильного исправления, материала no_index
и старого фольклора фальсификации mldistwatch . PAUSE хочет узнать, какие пакеты находятся в вашем дистрибутиве. Он ищет пакет в той же строке, что и пространство имен. Если это не на одной линии, PAUSE проходит через него. Итак, вы увидите в некоторых старых «скрытых» модулях такие строки:
package # separate lines get past PAUSE
Some::Helper::Module;
Если вам нравится смотреть за кулисы, соответствующий код находится в PAUSE :: mldistwatch :: filter_pms () in ( PAUSE github repo ).
Другая проблема заключается в том, чтобы не устанавливать лишние вещи, которые есть в дистрибутиве. Индексирование не имеет к этому никакого отношения. Файлы сборки перемещают множество вещей в blib (библиотека сборки), чтобы подготовить их к установке. Все, что заканчивается там, устанавливается. Хитрость заключается в том, чтобы не позволить сборщику поместить туда ваши вспомогательные модули. Обычно это не проблема, если вы не размещаете их на верхнем уровне своего дистрибутива или в каталоге lib .