我正在尝试使用
format=yaml
解析 MediaWiki 的 API 输出。我的YAML代码如下:
使用YAMLqw(转储祝福负载);
使用YAML::LoadURI;
使用YAML::标签;
我的 $yaml_hash = LoadURI($wiki_url);
我的 $id = $yaml_hash->{query}->{namespaces}->[0];
打印$id;
这很好,但你如何在不使用蛮力的情况下迭代YAML的输出呢?这是明智的,但显然行不通。
my $id = $yaml_hash->{query}->{namespaces}-[*]->{id}
YAML的输出是这样的:
---
询问:
namespaces:
-
ID:-2
大小写:第一个字母
'*': 媒体
规范:媒体
-
身份证号:-1
大小写:第一个字母
'*': 特别的
规范:特殊
-
编号:0
大小写:第一个字母
'*':
内容:
-
身份证号码:1
大小写:第一个字母
'*': 讲话
子页面:
规范:谈话
-
编号:2
大小写:第一个字母
“*”:用户
子页面:
规范:用户
-
编号:3
大小写:第一个字母
'*':用户谈话
子页面:
规范:用户谈话