我试图从Net :: SSH2命令中解析动态的大字符串输出中的多个值。为了做到这一点,我相信我需要将字符串转换为哈希值。
阅读一些,似乎split函数是使用列表和多个哈希创建此数据集的方法
如果我运行'打印$ data',我会看到类似这样的内容:
0 "Title1:\cJ Key:\cIValue\cJ\cI Key:\cIValue\cJ\ Key:\cIValue\cJTitle2:\cJ Key:\cIValue\cJ\cI Key:\cIValue\cJ\cIValue\cJTitle3:\cJ Key:\cIValue\cJ\cI Key:\cIValue\cJ\cIValue\cJ"
或者以Data :: Dumper格式:
$VAR1 = 'Title1:
aaa: eee
Key: Value
Key: Value
Key: Value
aab: fff
Key: Value
Key: Value
Key: Value
aac: ggg
Key: Value
Key: Value
Key: Value
aad: hhh
Key: Value
Key: Value
Key: Value
'Title2:
baa: iii
Key: Value
Key: Value
Key: Value
bab: kkk
Key: Value
Key: Value
Key: Value
bac: lll
Key: Value
Key: Value
Key: Value
bad: mmm
Key: Value
Key: Value
Key: Value
'Title3:
caa: nnn
Key: Value
Key: Value
Key: Value
cab: ooo
Key: Value
Key: Value
Key: Value
cac: ppp
Key: Value
Key: Value
Key: Value
cad: qqq
Key: Value
Key: Value
Key: Value
';
我希望,将其转换为易于解析的格式,我可以使用\ cJ和\ cI字符进行拆分。有什么想法吗?
编辑 我已经尝试使用YAML和YAML :: Syck作为输入流,但看起来YAML不接受数据,因为它不包含有效的YAML标题:
YAML错误:预期的分隔符'---' 代码:YAML_PARSE_ERR_NO_SEPARATOR 线:2 文件:2 at /Library/Perl/5.18/YAML/Loader.pm第78行。
答案 0 :(得分:-1)
这些数据看起来很像YAML。也许您可以尝试使用http://search.cpan.org/~ingy/YAML-1.15/lib/YAML.pod来解析它?