尝试使用 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);
我正在构建一个脚本来安装数据库软件。根据版本的不同,我将需要能够连接到一个或多个数据库,并且我将需要不同用户的密码。因此,当我们构建补丁时,我们可以在一个文件中指定客户需要包含在单独的 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);