0
为什么我无法访问子包我不能工作了:如果我用同样的无法加载Perl的分包
#!/usr/bin/perl -w
package MbzDb::Instance;
use strict;
use warnings;
use Getopt::Long;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(new startFromCommandLine);
sub new {
my $class = shift;
return bless {}, $class;
}
sub startFromCommandLine {
my $self = shift;
}
:
mbzdb
:
#!/usr/bin/perl -w
use lib "./lib";
use MbzDb::Instance;
my $instance = new MbzDb::Instance();
$instance->startFromCommandLine();
lib/MbzDb/Instance.pm
代码lib/MbzDb.pm
导出正常。我究竟做错了什么?
给出的错误是:
无法找到对象的方法“新”经包装“MbzDb ::实例”(也许你忘了装载“MbzDb ::实例”?)在./mbzdb line 6.
是否在LIB相同的代码工作/ Mbzdb.pm如果你注释掉使用LIB? – 2013-04-11 07:21:26
如果我删除'use lib“./lib”;'那么它无法找到该模块。如果我删除它并将'.pm'移到另一个位置,我会得到相同的错误。 – 2013-04-11 07:28:36
嗯,并且在MbzDb下没有另一个lib目录(例如lib/Mbzdb/lib? – 2013-04-11 07:32:17