我有一个从其他来源生成的yaml文件,如下所示。
我得到了以下错误 --> YAML错误:地图中的无效元素 代码:YAML_LOAD_ERR_BAD_MAP_ELEMENT 行:3 文档:1
如果level1,level2和leve3在同一行,则不会出现此问题。我认为这是因为缩进导致的问题。但是,我无法更改file.yaml文件。那么,在perl中有没有办法在不修改file.yaml文件的情况下解析这个yaml文件呢?
connect1:
connect2:
- { level1 : name, level2: age,
level3: gender}
我的代码大致如下 --?
use YAML::Tiny qw(LoadFile);
use YAML;
use YAML::Loader;
use YAML::Syck;
use YAML qw(LoadFile);
use Data::Dumper;
my $data = LoadFile("file.yaml");
my @config = $data->{connect1}->{connect2};
print Dumper(@config);
我得到了以下错误 --> YAML错误:地图中的无效元素 代码:YAML_LOAD_ERR_BAD_MAP_ELEMENT 行:3 文档:1
如果level1,level2和leve3在同一行,则不会出现此问题。我认为这是因为缩进导致的问题。但是,我无法更改file.yaml文件。那么,在perl中有没有办法在不修改file.yaml文件的情况下解析这个yaml文件呢?
YAML.pm
的LoadFile
。YAML.pm
不支持任何多行流样式,包括普通和带引号的字符串以及流样式集合{ ... }
,[ ... ]
。它可能永远都不会支持。 - tinita