我是perl的新手,我希望获得使用XML::SIMPLE模块生成的哈希表键,如下所示
$data = $xml->XMLin("tp.xml");下面是生成的结构
$VAR1 = {
'technical-profile' => {
'WEB' => {
'mandatory-param' => {
'value' => 'high',
'name' => 'screenCapability',
'case-sensitive' => 'no'
}
},
'WAP/PDA' => {
'description' => 'wap/sparphone',
'mandatory-param' => {
'value' => 'low|intermediate',
'name' => 'screenCapability',
'case-sensitive' => 'no'
}
},
'WAP' => {
'description' => 'wap/sparphone',
'mandatory-param' => {
'value' => 'low',
'name' => 'screenCapability',
'case-sensitive' => 'no'
}
}
}
};我试过这个
print "Key: $_" foreach (keys%data);但是我什么也没有,我想打印WEB,WAP/PDA和WAP,怎么可能呢?
发布于 2014-03-31 17:33:36
在您创建的每个perl脚本的顶部都包括use strict;和use warnings;。
如果您这样做了,您将得到以下错误:
Global symbol "%data" requires explicit package name您的数据是分配给$data的哈希引用。因此,要查看它的键,请执行以下操作:
print "Key: $_\n" for keys %$data;对于第二个哈希级别上的三个值,您可以使用以下方法:
print "Key: $_\n" for keys %{$data->{technical-profile}};应该输出(按随机顺序排列):
Key: WEB
Key: WAP/PDA
Key: WAPhttps://stackoverflow.com/questions/22758228
复制相似问题