Perl中的配置文件处理

前端之家收集整理的这篇文章主要介绍了Perl中的配置文件处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
CPAN中的Config :: Namespace中有大量的模块,但是它们都以一种或多种方式受到限制.

我目前正在使用Config::Std,这是大部分时间都很好,但是这使得某些事情变得困难:

>两层以上的嵌套指令
>处理每个键的多个值
> conf.d目录,即多个配置文件合并到一个大的配置哈希

Config :: Std在解析配置之后生成一个有福的hashref,所以我的所有应用都被编码为使用一个hashref进行配置.我不想改变这个.

我正在寻找的是一个通用的,轻量级的配置模块,生成一个hashref.

我的问题是:我应该考虑哪些配置模块来替换Config :: Std?

解决方法

你没有说明你的数据来自哪里.您是否在配置文件中阅读并运行到配置文件本身的限制?

Config :: Std是一个很棒的模块.但是,它是为了读写Windows Config / INI文件,Windows Config / INI文件是非常平坦和简单的格式.因此,我不希望Config :: Std做更多的事情.

如果您现在正在使用Windows Config / INI文件,但可能需要在将来读取更复杂的数据结构,Config :: Any是一个很好的方法.它将处理Windows Config / INI文件并使用相同的编程接口,读写XML,YAML和JSON文件结构.

如果你只是想在你的程序中保留一个复杂的数据结构,并且不关心读写配置文件,我建议看一下XML :: Simple,因为它很简单.简单,可以处理各种数据结构.另外,XML :: Simple是一个非常常用的模块,因此如果您对模块有任何疑问,可以在Internet上获得很多帮助,并且得到了积极的支持.

您可以使用Config :: Any,但是我觉得使用起来比较复杂,而且更难配置.实际上,您必须安装XML :: Simple(或类似的模块)才能使用它. Config :: Any的优点是它是一种用于各种配置文件格式的单一界面.这样,如果您决定将Windows Config / INI转换为XML或YAML,则不需要通过程序.

所以,如果现在使用Windows Config / INI文件,并且需要一个更复杂的数据结构:看看Config :: Any.

如果你只是想要一个简单的方法来跟踪复杂的数据结构,那么看一下XML :: Simple.

猜你在找的Perl相关文章