如何只使用另一个文件中的变量名?

时间:2015-05-18 13:46:42

标签: perl

我想只使用另一个文件中的变量名。

test1.pl

use warnings;
use strict;
our $name = "hello world";
print "Helllloo\n";

test2.pl

use warnings;
use strict;
require "test.pl";
our $name;
print "$name\n";

test1.pl包含一些包含许多功能的内容。我使用了test1.pl中的变量$name。但是在运行test1.pl时不要运行test2.pl。例如,当运行test2.pl时,结果是

Helllloo   
hello world

来自Helllloo的{​​{1}}打印。如何才能使用另一个文件变量名称我该怎么做?

2 个答案:

答案 0 :(得分:3)

您应该将test1.pltest2.pl重写为use MyConfig,就像这样

<强> test2.pl

use strict;
use warnings;

use MyConfig 'NAME';

print NAME, "\n";

<强> MyConfig.pm

use strict;
use warnings;

package MyConfig;

use Exporter 'import';
our @EXPORT_OK = qw/ NAME /;

use constant NAME => "hello world";

1;

<强>输出

hello world

答案 1 :(得分:0)

使用Const::Fast从模块中导出变量:

use strict;
use warnings;

use My::Config '$NAME';

print "$NAME\n";

My/Config.pm

use strict;
use warnings;

package My::Config;

use Exporter 'import';
our @EXPORT = ();
our @EXPORT_OK = qw{ $NAME };

use Const::Fast;

const our $NAME => "hello world";
__PACKAGE__;
__END__