1

我可以导出使用创建的常量enum::fields吗?例如:

package XLine {
    use enum::fields qw{VAL SLOPE INTERVAL};
    use parent qw(Exporter);

    our @EXPORT = qw(VAL SLOPE INTERVAL);

    sub new {
    my $class = shift;
    my $self = bless [], $class;
    return($self);
    }
}

my $x = XLine->new();

printf("INTERVAL = %d\n", INTERVAL);

我应该使用不同的“常量”包吗?我用这个是因为我读到它很快,在这里: http: //neilb.org/reviews/constants.html

4

1 回答 1

1

enum::fields 不是这里的问题。当您添加XLine->import(qw(INTERVAL));或者更实际地/遵循最佳实践,将 XLine 包移动到它自己的 .pm 文件中时,该代码可以工作。

于 2019-07-08T06:51:11.323 回答