perl - 无法在 perl 中获取 YAML 文档节点
问题描述
我在下面有 yaml 文件,其中包含三个文档,我想访问每个文档(节点)以将其加载到数据库中,但只能访问第一个文档。我怎样才能获得休息?
可以使用 # https://codebeautify.org/yaml-validator验证 YAML 文档
use warnings;
use strict;
use diagnostics;
use YAML::XS qw (LoadFile Dump) ;
use Data::Dumper;
#my $content = read_file( 'db2.yml' ) ;
my $libyaml_version = YAML::XS::LibYAML::libyaml_version();
print "Lib YAML Version: $libyaml_version \n";
my ($content) = LoadFile('db2.yml');
my $test = \$content;
print Dump($test);
#print Dump($content);
#-- Works
print "Q01 '", $content->{Q01}, "'\n";
#-- Does not work
#print "Q02 '", $content->{Q02}, "'\n";
#print "Q03 '", $content->{Q03}, "'\n";
样本数据文件 (db2.yml)
---
Q01: Db2 workgroup server edition is designed to handle
Options:
- Transactional workloads for department
- Mixed workloads for medium businesses
- Transactional and warehouse workloads for department
- Transactional and warehouse workloads for medium businesses
Correct:
- 1
- 2
---
Q02: Which of below process runs in seperate address space
Options:
- db2acd
- db2vend
- db2fmp
- db2sysc
Correct:
- 2
- 3
---
Q03: AUTHENTICATION is database level parameter
Options:
- True
- False
Correct:
- 2
解决方案
推荐阅读
- ssis - 使用 ssis 重命名 azure 存储文件夹中的多个 blob
- reactjs - 映射状态属性返回空数组
- ios - 如何从 ios 应用程序通过 BLE 打开连接到 arduino 的 LED?
- browser-sync - Lite Server 热重载不适用于默认配置
- android - Activity onRestart() 的实用程序
- chart.js - 如何删除 PolarArea 圆圈上的编号?
- python - 类型注释 Pandas 数据帧
- javascript - 如何使用存储字段名称的变量而不是 ReactJS 中的实际 AirTable 字段名称来访问 Airtable 中的字段?
- spring - spring-boot 自定义 Jetty SSLContextFactory
- asp.net - MSBUILD : 错误 MSB1011: 指定要使用的项目或解决方案文件,因为此文件夹包含多个项目或解决方案文件