需要有关扩展我的Perl模块的帮助

ste*_*nmm 1 perl perl-module extend

我试图扩展我的公司特定的BaseClass(Acme :: BaseClass),但每当我:

package Manager;
use strict;
use warnings;
use base qw(Acme::BaseClass)
sub new { ...
Run Code Online (Sandbox Code Playgroud)

它给了我错误:

Base class package "Acme::BaseClass" is empty.
Run Code Online (Sandbox Code Playgroud)

但在我的脚本中,我可以使用该包:

use Acme::BaseClass;
my $bc = BaseClass->new("myname");
$bc->prnt(); # prints "myname"
exit;
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试在Perl中继承,所以也许我错过了一些基本的东西?

笔记:

  • 我尝试过使用"父",但它也不起作用
  • 我试着用旧学校:

    BEGIN {require Acme :: BaseClass; 推@ISA,qw(Acme :: BaseClass); }

我不确定如何正确地做这些.希望这是我想念的简单事情.如果没人能回答,我会添加更多细节.

Dre*_*Dre 14

从您的代码示例来看,它听起来像是这样的Acme/BaseClass.pm东西

package BaseClass;

....

1;
Run Code Online (Sandbox Code Playgroud)

它需要

package Acme::BaseClass;

....

1;
Run Code Online (Sandbox Code Playgroud)