尝试使用 YAML 读取多值项目

Trying to read multi valued items using YAML

我正在构建一个脚本来安装数据库软件。根据版本的不同,我将需要能够连接到一个或多个数据库,并且我将需要不同用户的密码。因此,当我们构建补丁时,我们可以在一个文件中指定客户需要包含在单独的 YAML 文件中的内容,并使用 YAML 读取值并检查我们是否从客户那里获得了正确的信息。

我想使用 YAML 创建一个带有嵌套哈希的多值字段。这就是我想出的。但是格式不对。有人可以帮我在控制文件中格式化这个以及如何从 Perl 代码访问这些值吗?

db_targets_required:
    -  target_name: PROD_NAMEA
       username1:   system
       username2:   myschema
       username3:   myschema2
       username4:   myschema3
    -  target_name: PROD_NAMEB
       username1:   system

我更新格式如下,可以识别了。这应该对我有用。 谢谢

如果您了解 Perl 结构,只需使用 YAML 模块将其转换为 YAML。

#!/usr/bin/perl
use strict;
use warnings;

use YAML;

my $struct = [ 'PROD_NAMEA' => [qw[ system myschema myschema2 myschema3 ]],
               'PROD_NAMEB' => [qw[ system ]],
             ];
print Dump($struct);