我有一个这样的基类:
package MyClass;
use vars qw/$ME list of vars/;
use Exporter;
@ISA = qw/Exporter/;
@EXPORT_OK = qw/ many variables & functions/;
%EXPORT_TAGS = (all => \@EXPORT_OK );
sub my_method {
}
sub other_methods etc {
}
--- more code---
我想子类化MyClass
,但只针对一种方法。
package MySubclass;
use MyClass;
use vars qw/@ISA/;
@ISA = 'MyClass';
sub my_method {
--- new method
}
我想像MySubclass
原来的那样调用它MyClass
,并且仍然可以访问所有的变量和函数Exporter
。但是,我在Exporter
从原始类中获取变量MyClass
以正确导出时遇到问题。我需要Exporter
在子类中再次运行吗?这似乎是多余和不清楚的。
示例文件:
#!/usr/bin/perl
use MySubclass qw/$ME/;
-- rest of code
但是当我尝试导入$ME
变量时出现编译错误。有什么建议么?