ruby-listでも答えていただきましたが、これって1.8で仕様変更されたことなのでした。 http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/40825?40768-40832 範囲式中に数字リテラルや正規表現オブジェクトを書きたいときは 明示的に$. や$_などと比較する必要があります。