Ответ 1
Да, ваш подход caller
был верным - это метод под названием "modulinos" от brian d foy. Я предполагаю, что Брайан изобрел его, если кто-то не просветит меня против.
Основная рабочая часть modulino выглядит так (из ответа SO, связанного ниже):
__PACKAGE__->run( @ARGV ) unless caller;
sub run {
my( $class, @args ) = @_;
}
1;
Вот несколько ссылок:
"Модули как программы" из раздела "Освоение Perl" от brian d foy
"Сценарии как модули" в статье доктора Доббса
"Как статья script становится модулем" на perlmonks
Что мне следует добавить в мой шаблон стартера для моих программ Perl?