ぼくの開発した エコシステムの中のメインのプログラム md2pandoc.pl (Perl) が必要以上に複雑になってしまった。 メインの部分だけで、140行以上ある。 なんとかもっと単純に、そして構造化しようと手を入れている。 しかし、 あまりに複雑怪奇になってしまって、うまくいかない。
この際、ゼロから始めることにした。
じつに簡単だった。
MAIN は以下の通りだ。 20行にもならない! (なお、 HTML では "<" および ">"(半角)を表示できませんので、 以下、それらを全角版で代用します。)
while(<>){ $_ = &remove_stars($_); if(/<!--\s*BEGIN:\s*([^- ]+)\s-->/){ switch($1){ case "SUMMARY" {&summary_read;} case "COMMENT" {&comment_read;} case "BEAMER" {&beamer_read;} else { print "$2 illegal";} } next; } if(/^(★|\#\#\#\#\#)\#*\s+(.*)$/){ &list_read($1, $2); next; } print; }
あとはサブルーチンを書くだけ。 じつに簡単だった。