全局访问perl中的变量

kee*_*eru 2 import perl export global-variables

我有很多文件.在一个文件ie(Lib::Utils)中我有所有泛型函数.我需要为两个变量赋值并定义相同的内容Lib::Utils,我需要将其导出到其他文件.我不应该在其他文件中声明该变量.

我尝试过如下

在Lib :: Utils中

package Lib::Utils;

require Exporter;
@ISA = qw(Exporter);

our $FAIL = 0;
our $SUCCESS = 1;
Run Code Online (Sandbox Code Playgroud)

在test.pl中

use strict;
use warnings;

use Lib::Utils;

our ($FAIL, $SUCCESS);

print("$FAIL\n$SUCCESS\n");
Run Code Online (Sandbox Code Playgroud)

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

Bor*_*din 6

Exporter没有填充@EXPORT或使用没有意义@EXPORT_OK.

Lib/Utils.pm你需要添加

our @EXPORT_OK = qw/ $FAIL $SUCCESS /;
Run Code Online (Sandbox Code Playgroud)

并改变test.pl这样

use strict;
use warnings 'all';

use Lib::Utils qw/ $FAIL $SUCCESS /;

print "$_\n" for $FAIL, $SUCCESS;
Run Code Online (Sandbox Code Playgroud)