У меня есть несколько сценариев, которые я начал модульное тестирование, используя идею "modulino". Я столкнулся с проблемой в том, что когда скрипт вызывается с "perl -d", скрипт не запускается, так как caller () возвращает истинное значение.
У меня основная часть скрипта обернута в main (), а некоторые подпрограммы медленно вытаскиваются из main () в их собственные подпрограммы.
В верхней части скрипта у меня есть:
main(@ARGS) unless caller();
При вызове в .t tests он работает так, как я хочу, а не запускает main (), поэтому я могу протестировать подпрограммы. Когда я вызываю скрипт из CLI, он прекрасно работает, вызывая main ().
Проблема возникает, когда я звоню из CLI с:
perl -d myscript.pl
На этом этапе вызывающая сторона возвращает допустимое значение (а не undef), и main не вызывается.
Буду очень признателен за предложения о том, как подойти к этому.