这是什么样的数据格式?

时间:2011-04-14 14:48:02

标签: perl data-structures perl-data-structures

我有一堆以下形式的数据文件:

("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。毕竟,为什么重新发明轮子! ; - )

1 个答案:

答案 0 :(得分:7)

对我而言,这看起来像一个Lisp-ish S-Expression。例如,Emacs在将其作为列表引用之后就会理解你的例子。

S-Expressions通常很容易解析,但是对S-Expressions的CPAN搜索应该足以让你自己不必编写解析器。