6

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

("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 数据结构——而无需我自己编写解析器。毕竟,为什么要重新发明轮子!;-)

4

1 回答 1

7

对我来说,这看起来像一个 Lisp-ish S-Expression。例如,Emacs 在将您的示例引用为列表后会很好地理解它。

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

于 2011-04-14T15:20:39.283 回答