У меня есть скрипт perl (MyTest.pl), который включает (использование) два модуля (MyA.pm и MyB.pm). Проблема заключается в том, что модуль A также должен включать модуль B, но это, похоже, не работает, поскольку оно уже включено в файл .pl.Использовать (включать/требовать) тот же файл дважды
MyTest.pl
use MyA;
use MyB;
print hello(); # defined in MyB
MyA.pm
use MyB;
print hello(); # defined in MyB
Perl утверждает, что подпрограмма привет неопределен при вызове из MyA.pm. Из того, что я могу понять, кажется, что использует, работает только там, где он используется (ха!) В первый раз.
Любые подсказки?
Я экспортирую функцию 'hello', используя' Exporter'. Но вы мне помогли, я не использовал 'package' в' MyB'. Это работает сейчас, спасибо. – Andreas
Это интересно. Интересно, как выглядит '* Main :: hello' после того, как вы импортируете' & Main :: hello' в свое собственное пространство имен. Я не могу представить, что это хорошо. Корм для другого дня .... – tjd