【问题标题】:globally access the variable in perl全局访问perl中的变量
【发布时间】:2017-10-20 09:27:39
【问题描述】:

我有很多文件。在一个文件中,即 (Lib::Utils) 我拥有所有通用功能。我需要为两个变量赋值并在Lib::Utils 中定义相同的值,我需要将其导出到其他文件。我不应该在其他文件中声明该变量。

我尝试如下

在 Lib::Utils 中

package Lib::Utils;

require Exporter;
@ISA = qw(Exporter);

our $FAIL = 0;
our $SUCCESS = 1;

在test.pl中

use strict;
use warnings;

use Lib::Utils;

our ($FAIL, $SUCCESS);

print("$FAIL\n$SUCCESS\n");

但我希望将其从 Lib::Utils 导出到所有其他文件。

【问题讨论】:

    标签: perl import export global-variables


    【解决方案1】:

    在不填充@EXPORT@EXPORT_OK 的情况下使用Exporter 毫无意义。

    Lib/Utils.pm你需要添加

    our @EXPORT_OK = qw/ $FAIL $SUCCESS /;
    

    并像这样更改test.pl

    use strict;
    use warnings 'all';
    
    use Lib::Utils qw/ $FAIL $SUCCESS /;
    
    print "$_\n" for $FAIL, $SUCCESS;
    

    【讨论】:

    • @ssr1012:已修复。谢谢。
    • 错误已修复。谢谢大家
    猜你喜欢
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2014-11-11
    • 1970-01-01
    相关资源
    最近更新 更多