我有一堆以下形式的数据文件:
("String"
:tag1 (value)
:tag2 (value2)
:tag3 (
:nested_tag1 (foo)
:nested_tag2 (
:nested2_tag1 (
: ( nested3_tag1
:baz (true)
:qux ("a really long block of text")
)
)
)
)
)
这只是一个小例子。真实文件有数千行。
原谅我的无知,但我不承认格式。这是一种常见或已知的格式吗?它有名字吗?
我想用Perl处理它,并想知道是否有任何外部模块可以让我轻松将其转换为Perl数据结构 - 我不必自己编写Parser。毕竟,为什么重新发明轮子! ; - )
答案 0 :(得分:7)
对我而言,这看起来像一个Lisp-ish S-Expression。例如,Emacs在将其作为列表引用之后就会理解你的例子。
S-Expressions通常很容易解析,但是对S-Expressions的CPAN搜索应该足以让你自己不必编写解析器。