2025-03-06 プログラムをゼロから書き直したら、数時間で完成した ---やってみるもんだ

食事、コンピューター、インドネシアについてのひとり言。 ときどき人類学なども。

[2025-03-06] プログラムをゼロから書き直したら、数時間で完成した —やってみるもんだ

ぼくの開発した

エコシステムの中のメインのプログラム 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;
}

あとはサブルーチンを書くだけ。 じつに簡単だった。