【问题标题】:getting ini information from perl从 perl 获取 ini 信息
【发布时间】:2012-12-21 17:17:04
【问题描述】:

我想知道如何在 perl 中从 INI 文件中检索信息。我在 perl.org 文档中找到了一些东西 here,但是没有评论,需要一些解释。有没有更容易使用的模块来解析INI信息??

[version]
ver=1.0.3

[ServerInfo]
port=1234
address="localhost"

【问题讨论】:

  • 有什么问题?你想要什么信息?
  • 我想知道如何从 perl 中的 ini 中检索信息,然后在控制台上打印信息

标签: perl ini


【解决方案1】:

您还可以查看Config::Auto 模块。

【讨论】:

    【解决方案2】:

    在研究如何在 Perl 中做某事时,第一步应该始终是搜索 CPAN 寻找有用的模块。

    在这种情况下,searching for "ini" 为您提供了多种选择。

    【讨论】:

      【解决方案3】:

      有一个很好的INI file reader in CPAN,如果需要,您可以对其进行子类化。

      % cpan install 'Config::INI::Reader'
      

      那么……

      % cat blah.pl 
      #!/usr/bin/env perl -w
      
      use strict;
      use Config::INI::Reader;
      
      my $filename = "blah.ini";
      
      my $ini = Config::INI::Reader->read_file($filename);
      my $server_info = $ini->{'ServerInfo'};
      
      printf "Will connect to %s:%d\n"
          , $server_info->{'address'}
          , $server_info->{'port'}
          ;
      

      跑步:

      % ./blah.pl 
      Will connect to "localhost":1234
      

      您的 INI 文件中不需要 "

      【讨论】:

      • 感谢当我第一次开始研究 ini 时,当我看到示例 ini 时,我用 c++ 阅读了它们,它有“
      • 无论实现阅读器的语言如何,INI 文件中都不需要引号。
      【解决方案4】:

      通过示例尝试这样做:

      use strict;
      use warnings;
      
      use Config::IniFiles;
      
      my $ini = new Config::IniFiles(
          -file => '/tmp/config.ini',
          -allowcontinue => 1
      );
      
      print $ini->val('version', 'ver');
      

      perldoc Config::IniFiles

      【讨论】:

        猜你喜欢
        • 2015-04-10
        • 2012-04-18
        • 2022-01-28
        • 1970-01-01
        • 2014-05-12
        • 2021-01-06
        • 2018-06-18
        • 2014-10-20
        • 2021-07-01
        相关资源
        最近更新 更多