Вы всегда можете вызвать подпрограммы в там полностью указанной форме:
MyModule::firstsub();
Для модулей, которые я пишу внутри, я считаю, что это соглашение работает довольно хорошо. Это немного больше печатает, но лучше документация.
Посмотрите на perldoc perlmod
для получения дополнительной информации о том, чего вы пытаетесь достичь.
В общем, вы можете посмотреть на код Exporter
и посмотреть, как он использует псевдонимы глобусов. Или вы можете проверить пространство имен вашего модуля и экспортировать каждую подпрограмму. (Я не хочу искать, как это сделать в данный момент, но Perl делает это довольно легко.) Или вы можете просто вставить свои подпрограммы в пакет main
:
package main;
sub firstsub() { ... }
(Не думаю, что это хорошая идея, но вы знаете лучше, чем я, что вы пытаетесь достичь.)
В этом нет ничего плохого при условии вы знаете, что делаете, и не просто пытаетесь не думать о вашем интерфейсе с внешним миром.