使用require访问全局变量的值?

mad*_*dia 5 perl

是否可以使用require在另一个perl脚本中访问声明的全局变量的值?

例如。

Config.pl

#!/usr/bin/perl
use warnings;
use strict;

our $test = "stackoverflow"
Run Code Online (Sandbox Code Playgroud)

Main.pl

#!/usr/bin/perl
use warnings;
use stricts;

require "Config.pl"

print "$test\n";
print "$config::test\n";
Run Code Online (Sandbox Code Playgroud)

Mic*_*ade 5

当然。您提出的建议几乎可行。尝试:

Config.pl

use warnings;
use strict;

our $test = "stackoverflow";
Run Code Online (Sandbox Code Playgroud)

和主程序:

#!/usr/bin/perl
use warnings;
use strict;  

require "Config.pl";

our $test;

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

调用时require,文件在与调用者相同的名称空间中执行。因此,没有任何名称空间或my声明,任何分配的变量都将是全局变量,并且对脚本可见。