如何在执行之前检查脚本中使用的perl环境变量?

时间:2011-12-13 08:14:52

标签: perl

如何知道脚本中使用的环境与程序运行时会看到的环境相同? 据我所知,Perl将环境存储在%ENV中。

我正在尝试使用下面提到的代码来了解变量。

    require Data::Dumper;
    print STDERR Data::Dumper::Dumper( \%ENV );

在脚本开始执行之前是否有检查所使用的env变量的过程?

2 个答案:

答案 0 :(得分:4)

%ENV的内容将继承到您从perl脚本执行的任何进程。

如果您担心子进程会从您的环境中读取敏感信息,请在运行前给它一个干净的信息:

do {
    local %ENV;
    $ENV{PATH} = '/usr/bin';
    system './another-binary';
};

答案 1 :(得分:4)

不确定您的目标是什么,但是您可以将代码放在BEGIN块中,以便在加载任何模块之前查看您的环境变量。

BEGIN {
    require Data::Dumper;
    print STDERR Data::Dumper::Dumper( \%ENV );
}