我在与想要使用它的Perl程序相同的目录中创建一个名为Base.pm的模块,但该模块似乎未加载。将模块的名称更改为Base以外的任何东西,并且工作正常。 Base.pm有什么特别之处,并且如何覆盖这种行为?感谢您的任何见解。Base.pm的特殊处理?
package Base;
use strict;
use Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw(func);
sub func { return "foo"; }
1;
与
use Base;
print func();
产生
Undefined subroutine &main::func called at test0.pl line 2.
而
package Case;
use strict;
use Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
$VERSION = 1.00;
@ISA = qw(Exporter);
@EXPORT = qw(func);
sub func { return "foo"; }
1;
与
use Case;
print func();
个
产量
foo.
虽然没有重复,[这个问题](http://stackoverflow.com/q/658955/8355)是有关到你的情况。 – cjm 2014-10-17 20:12:17