In message <19980330130130O.dezawa / miya.fujifilm.co.jp>
Sinichiro Dezawa <dezawa / miya.fujifilm.co.jp> writes:

>   if ( /([\d.]+)\s+([^:]*)\s*([:\s])+(\d+)/ )
                               ~~~~~~~~ -> ([:\s]+) では? `: ' 一つだ
                                           けマッチしても....

>      @refs << $2
       ~~~~~ -> 初期化していないインスタンス変数への操作.もとはクラス
                の一部だった? なんにせよ空の配列ででも初期化しないと
                「nil はそんなメソッド知らない」と怒られます.

>     printf "%s%s <A HREF=\"#%s\">%s</A> %s %s\n",
>         $`,$1,$2,$2,$3.gsub(/\s:/,"."),$4
                              ~~~~~ -> /:\s/ では? 入力を見ると.でな
                                       いと最初の `:' が残りますが.

  という変更を加えると,

<font size=4>目次
</font>1 コマンドリファレンスの見方 1
1.1 対応するプログラムのリビジョン: : : : : : : : : : : : : : : : : : : 1

  に対して

<font size=4>目次
</font>1 コマンドリファレンスの見方   
1.1 対応するプログラムのリビジョン ................... 

  という結果が得られます....なぜ $4 が出力されない (^^? ちなみに変更後
  のプログラムは以下の通り:

#!/usr/local/bin/ruby
while(  gets )
  refs = []
  if ( /([\d.]+)\s+([^:]*)\s*([:\s]+)(\d+)/ )
    refs << $2
    printf "%s%s <A HREF=\"#%s\">%s</A> %s %s\n",
      $`,$1,$2,$2,$3.gsub(/:\s/,"."),$4

  elsif ( /([\d.]+)\s+([^:]*)\s+(\d+)/ )
    printf "%s%s <A HREF=\"#%s\">%s</A>    %s\n",$`,$1,$2,$2,$3
  else
    print
  end
end

===========================================================================
  柳川 @ 情報システム学研究科 . 電気通信大学
  katze / yuba.is.uec.ac.jp                                  March 30, 1998
What is done can't be undone.