Parse::RecDescentを一回ぐらい使っておこうかなということで使ってみた。 書いてみたのは .iniファイルのパーサです。たくさんモジュールがあるし、 実際に使う気があるわけでもなく、ただ練習ということで。 iniの仕様 書くにあたってわかったのですが、.iniファイルって厳格な仕様があると いうわけではないんですね。なんで、Config::INIの PODに書いてある BNFを参考に、若干簡略化したものになってます。文字列の正規表現はいい加減です。 コード #!/usr/bin/env perl use strict; use warnings; use Config::INI; use Parse::RecDescent; ## for debug #$::RD_HINT = 1; #$::RD_TRACE = 1; my $grammer =<<'__GRAMMER__'