导出代码属性

时间:2014-03-20 15:45:30

标签: perl attributes

我想创建一个可以导入并用作代码属性的函数。 我正在使用Sub::Attribute来创建属性。给出的示例使用继承,但我想导出并使用它。希望我的问题很明确。

用于创建属性的代码段:

package attpkg;

use strict;
use Sub::Attribute;
use Exporter 'import';

our @EXPORT_OK = ('Myattr');

sub Myattr : ATTR_SUB {
    my ($class, $sym_ref, $code_ref, $attr_name, $attr_data) = @_;
    print "@_";
    #$code_ref->();
    print "_____________\n";
}

1;

尝试导入属性但失败的代码段:

use strict;
use attpkg qw(Myattr);

sub pHelloWorld : Myattr {
    print "Hello World\n";
}

pHelloWorld();

1 个答案:

答案 0 :(得分:1)

Sub :: Attribute秘密地在MODIFY_CODE_ATTRIBUTES()命名空间中创建一个名为attpkg的函数。您也需要将其导出。