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 っぽいS-Expressionのように見えます。たとえば、Emacs は、例をリストとして引用した後でも問題なく理解できます。

S-Expressions は一般に非常に簡単に解析できますが、S-Expressions の CPAN 検索でも、自分でパーサーを作成する必要がないほど十分な情報が得られます。

于 2011-04-14T15:20:39.283 に答える