我有属性::处理程序一个奇怪的问题,看起来像某种错误的:为什么不从其他包中调用Perl属性处理程序?
package MyPackage;
use Attribute::Handlers;
sub UNIVERSAL::foo :ATTR(CODE) {
...
}
当MyPackage的使用,或从使用MyPackage的脚本的主包,foo的处理函数被调用每当编译器遇到的形式
sub bar:foo {
...
}
的功能不过,我还有一个包,在一个单独的.pm文件,使用MyPackage的。编译器接受“:foo”属性,但处理程序是而不是调用。
我试图在MyPackage中编写一个导入函数,它将foo处理程序导出到调用者的名称空间,但这似乎没有帮助。
任何人都可以理解这一点吗?过去几天,我一直在关注如何解决这个问题。
你是否在使用'strict'和'warnings'? –
@Chris - 是的。我开始怀疑我正在使用的其他软件包之一与Attribute:Handlers冲突。 – Rob
你可以在这里添加更多代码吗?一些你正在做什么以及它不工作的全功能例子? –