小编use*_*922的帖子

Perl:迭代INI文件

我正在制作一个需要读取并获取INI文件值的Perl脚本.

INI文件格式:

[name]
Property=value
Run Code Online (Sandbox Code Playgroud)

例:

[switch_6500]
cpu=1.5.1.12.4
free_memory=1.45.32.16

[oracle_db_11g]
param1=value1
param2=value2
param3=value3
param4=value4
...
Run Code Online (Sandbox Code Playgroud)

如您所见,可以有任意数量的部分,包含任意数量的参数.部分名称/参数的名称将始终不同.

我需要做的是让我的Perl脚本遍历每个部分,并获取该部分的所有参数名称/值.我以前用INI文件做的只是指定节名和参数名称,如下所示:

  #!/usr/bin/perl -w

  use strict;
  use warnings;
  use Config::Tiny;

  # Read the configuration file
  my $Config = Config::Tiny->new();
  $Config = Config::Tiny->read( 'configfile.ini' );
  my $Metric1_var = $Config->{switch_6500}->{cpu};
  my $Metric2_var = $Config->{switch_6500}->{free_memory};
Run Code Online (Sandbox Code Playgroud)

但是,现在我有无限量的节名称/参数,以及不知道它们的名字,我似乎无法找到提取所有值的方法.我正在环顾Config :: IniFiles模块,它有一些有趣的东西,但我似乎无法找到一种方法来获取参数值而不知道节/参数名称.

如果有人可以帮助我迭代这个INI文件,我将不胜感激.

谢谢.

iteration perl ini config file

5
推荐指数
2
解决办法
5160
查看次数

Perl:合并哈希元素

我有2个哈希.

my %hash1 = (
          '1.3.6.1.2.1.7.1.0' => 'switch_stuff1',
          '1.3.6.1.2.1.6.3.0' => 'switch_stuff4',
          '1.3.6.1.2.1.6.5.0' => 'switch_stuff5',
          '1.3.6.1.2.1.7.4.0' => 'switch_stuff2',
          '1.3.6.1.2.1.6.2.0' => 'switch_stuff3'
    );

my %hash2 = (
          '1.3.6.1.2.1.7.1.0' => 125858,
          '1.3.6.1.2.1.6.3.0' => 120000,
          '1.3.6.1.2.1.6.5.0' => 23766,
          '1.3.6.1.2.1.7.4.0' => 115336,
          '1.3.6.1.2.1.6.2.0' => 200
     );
Run Code Online (Sandbox Code Playgroud)

如您所见,两个哈希的键值是相同的.

我需要做的就是把%hash1并将其用作%hash2.

输出:

$VAR1 = {
          'switch_stuff1' => 125858,
          'switch_stuff4' => 120000,
          'switch_stuff5' => 23766,
          'switch_stuff2' => 115336,
          'switch_stuff3' => 200
        };
Run Code Online (Sandbox Code Playgroud)

注意:两个哈希中的键/值对的数量始终相同.

或者,对我来说唯一重要的%hash1是价值观.

'switch_stuff1',
'switch_stuff4',
'switch_stuff5',
'switch_stuff2', …
Run Code Online (Sandbox Code Playgroud)

arrays perl hash merge elements

4
推荐指数
2
解决办法
325
查看次数

标签 统计

perl ×2

arrays ×1

config ×1

elements ×1

file ×1

hash ×1

ini ×1

iteration ×1

merge ×1