出沢です

最後につけたプログラムを通すと、期待した結果が得られないのですが
どこがおかしいでしょうか。
	uname -a
	SunOS s1sun8 5.5 Generic sun4m sparc SUNW,SPARCstation-20
	ruby -v
	ruby 1.1b9_06(98/03/28) [sparc-solaris2.5.1]
	gcc version 2.7.2
		SUNWspro の acc を使うと エラーで作れません。
		情報上がってますか?

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

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

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



#!/usr/local/bin/ruby
while(  gets )
  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