读/写perl对象配置文件

时间:2014-04-10 09:49:56

标签: perl config

我正在寻找perl配置文件编辑器。我看到了一些很棒的mod:

Config::General

Config::Simple

Config::Tiny

但是,这些选项往往会加载 ini,yaml,json等等。文件,而不是 perl 配置文件。

加载perl配置文件在perl中总是更快更安全吗?这样,文件通过 eval do 加载,而不是通过reg exps等手动解析。但是我似乎无法找到一个好的预写版本

Reading and Writing Perl... - 旧的perlmonks线程

OpenPlugin::Config::Perl - 我可能正在寻找什么?

最好使用的模块是什么?有没有理由 ini 文件加载似乎比用已经编写的语言直接加载文件更受欢迎?

由于

更新

我不会评估随机文件,我将加载自己的自定义perl文件。这与加载已经用php编写的php配置文件是一回事。有人知道使用PERL的模块吗?

4 个答案:

答案 0 :(得分:3)

除非我们谈论巨大的配置文件,否则我不会担心加载和解析配置文件的速度。

关于安全性,您不希望只是eval您从文件系统中读取的任何旧的Perl代码/配置 - 谁知道它会尝试做什么?您需要确保使用Safe模块中的reval方法。

答案 1 :(得分:0)

我正在进行的项目使用Config :: Any。它相当容易使用,并且非常灵活,它将接受哪些类型的配置文件(在概要上,它说它使用yaml,json,ini,以及其他)。

根据我使用JSON或yaml的经验似乎可以解决这个问题,但我并不熟悉使用每一个的优点和缺点,所以你必须自己决定:)。希望能帮助^^

答案 2 :(得分:0)

eval随机配置文件,因为Perl充满了危险。它可以包含任何内容,包括擦除硬盘驱动器的代码。它还会削弱引用的局部性,因为您的可执行代码会影响程序外部程序的整体状态。

对于配置文件,我经常使用XML :: Simple。这是获取基本名称 - 值对的简便方法。

答案 3 :(得分:0)

我不认为Config :: Any提供读写功能。

但是,如果您愿意使用Perl数据结构进行配置,因为存在一些针对JSON的论点,那么-您可能希望看一下Config::Perl