次のような文字列を読み取ることができる CPAN モジュールはありますか。
"[[<asdf>, <foo>], (abc, def, ghi), ({'jkl'})]"
...そして、それを、歩きやすくきれいに印刷しやすいある種のツリー構造に解析しますか?
Text::Balancedの上に構築できると思います。これにより、多くの面倒な作業が行われます。ただし、ツリー構造を構築する必要があります。
Perl 5.10 の正規表現は、このようなバランスの取れた構造を処理できます。perlreの(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)
セクションを参照してください。
Perl 6には、これをサポートするための機能が組み込まれています。当面は、Text::Balanced (Dave Rolsky が言及) がおそらく最適なモジュールです。これもまた、Damian Conway によって書かれたことに注意してください (Bill Karwin によって推奨されています)。
私はこれを使用していませんが、Damian Conway によって書かれた Perl モジュールを使用する価値があることは間違いありません。
文字列がデータ ダンパー形式と同一である場合はeval
、元の構造に戻すことができます。