Perl抱怨未定义的子程序,即使在%INC中包

时间:2015-11-01 13:53:33

标签: perl

Perl的名称空间魔术始终是最让人沮丧的......

有一个依赖于Recipient.pm的脚本,以及Donation.pm

use lib '../BulkLoad';
use Recipient;
use Donation;

Recipient.pm是一个面向对象的类,它本身使用Donation.pm(只是一组函数)。有点递归/冗余,我知道。

我的脚本 - 它再次依赖于两者 - 无论何时尝试无偿地使用Donation.pm:

my $city = Donation::getCity($dbh, $cityName, $stateName);

Perl抱怨道:

Undefined subroutine &Donation::getCity called at ...

"很高兴有#34;,"最佳做法"重构超出了范围:)

提前谢谢!!

1 个答案:

答案 0 :(得分:2)

由于您没有提供捐赠来源,因此只能猜测。它可能是

  • 功能名称不同
  • 您忘记在Donation.pm
  • 中声明包裹“捐款”
  • 也许别的东西(显示代码)