列出'require'函数加载的所有变量

问题描述 投票:1回答:1

我有一个带有一堆数据结构(数组,哈希)的配置文件,并使用以下命令将它们加载到我的perl脚本中:>

require '<config>';

我可以使用我所知道的config中的变量,但是有一种方法可以列出require函数加载的所有变量吗?理想情况下,我希望它们加载到哈希变量中并对其进行引用,以避免变量名称冲突

我有一个带有一堆数据结构(数组,哈希)的配置文件,我使用require''将它们加载到我的perl脚本中;我可以使用我知道的配置中的变量,但是......>

perl require
1个回答
3
投票

不容易,这就是为什么依赖全局命名变量存在问题的原因。取而代之的是,让您的配置文件返回单个数据结构(如hashref,因此您可以命名其一部分),然后将其与do一起加载到词法变量中:

use strict;
use warnings;
my $file = '/path/to/foo.conf';
my $data = do $file;
die "Failed to parse $file: $@" if !defined $data and $@;
die "Failed to read $file: $!" if !defined $data;
© www.soinside.com 2019 - 2024. All rights reserved.