这是什么样的数据格式?

waw*_*awa 6 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")

                 )
            )
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

这只是一个小例子.真实文件有数千行.

原谅我的无知,但我不承认格式.这是一种常见或已知的格式吗?它有名字吗?

我想用Perl处理它,并想知道是否有任何外部模块可以让我轻松将其转换为Perl数据结构 - 我不必自己编写Parser.毕竟,为什么重新发明轮子!;-)

raf*_*afl 7

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

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