【问题标题】:How do you manage configuration files in Perl?在 Perl 中如何管理配置文件?
【发布时间】:2010-10-19 07:39:25
【问题描述】:

我有一个程序必须从 PHP 脚本中读取配置文件,快速搜索发现在 Perl 中处理配置文件的方法有很多:

Brian 提供了一个概述here

Config::Simple 对我有用,因为现有文件类似于 INI。我很想知道人们经常在他们的代码中使用什么风格?

【问题讨论】:

  • 我对这个问题持矛盾态度:这基本上是一项民意调查,您不太可能得到足够的答案以使其有意义。然而,问题文本本身反映了研究工作并提供了极好的资源。这个问题比它的答案更有用:-P
  • 我试图使用 Config:Abstract::Ini,但这个问题让我找到了更好的模块。谢谢!

标签: perl configuration


【解决方案1】:

我非常喜欢使用YAML 配置文件。我发现它们非常易读且易于操作。它们很自然地适合 Perl,主要的结构是数组和哈希。

【讨论】:

  • 成熟的 YAML 很大,而且对于配置文件来说通常是巨大的杀伤力。 YAML::Tiny 通常就足够了。它体积小,易于捆绑。
  • 此外,您可以选择 YAML::Any。它将访问任何可用的 YAML 模块,并根据此偏好进行选择:YAML::XS > YAML::Syck > YAML > YAML::Tiny。
  • YAML 不适合手动编辑(移动内容涉及调整缩进级别和仅显示在聚合的 first 行上的标点符号),而且 Perl 有太多稍微不兼容的 YAML 解析器。 YAML 确实是一种太大的语言,这有助于这一点。
【解决方案2】:

一种解决方案是使用Config::Any 并让用户从许多选项中进行选择。就个人而言,我更喜欢 Config::General。

【讨论】:

  • Config::General 的第二个。 Config::Simple 还可以,但是 Config::General 仍然非常易于使用并且提供了更多功能。
【解决方案3】:

你要问的一个问题是观众是什么?也就是说,您是否乐意让您的目标受众(配置文件用户/修改器)更改 Perl 代码,或修改类似 .INI 的文件。这肯定会在一定程度上推动您做出决定。

【讨论】:

    【解决方案4】:

    如果受众是技术人员(习惯于格式化数据结构),那么我喜欢使用 JSON 进行配置。在您的程序中,它会像使用 YAML 一样工作,但对我来说它更容易阅读(而且我们还是使用了很多 JSON)。

    如果您使用 JSON::XS,则有一个“宽松”选项,允许在文件中使用 cmets 和尾随逗号等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      • 2013-07-25
      相关资源
      最近更新 更多