6

次のような文字列を読み取ることができる CPAN モジュールはありますか。

"[[<asdf>, <foo>], (abc, def, ghi), ({'jkl'})]"

...そして、それを、歩きやすくきれいに印刷しやすいある種のツリー構造に解析しますか?

4

5 に答える 5

9

Text::Balancedの上に構築できると思います。これにより、多くの面倒な作業が行われます。ただし、ツリー構造を構築する必要があります。

于 2008-12-09T22:23:59.273 に答える
4

Perl 5.10 の正規表現は、このようなバランスの取れた構造を処理できます。perlre(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)セクションを参照してください。

于 2008-12-10T01:20:16.780 に答える
2

Perl 6には、これをサポートするための機能が組み込まれています。当面は、Text::Balanced (Dave Rolsky が言及) がおそらく最適なモジュールです。これもまた、Damian Conway によって書かれたことに注意してください (Bill Karwin によって推奨されています)。

于 2008-12-09T22:37:13.647 に答える
1

ダミアン・コンウェイのパース::RecDescent

私はこれを使用していませんが、Damian Conway によって書かれた Perl モジュールを使用する価値があることは間違いありません。

于 2008-12-09T21:28:46.607 に答える
0

文字列がデータ ダンパー形式と同一である場合はeval、元の構造に戻すことができます。

于 2008-12-09T21:58:02.040 に答える