前川です。

To:土岐さん
Cc:ruby開発者orWin版rubyポーティング担当者殿

ruby-perllib-19990225(パッチ版)を使っています。
rubyからperllibを使ってWin32:ODBCのメソッドを呼び出しているところで
rubyのバグ(恐らく)にぶつかりました。うまい対処法があればご教授願います。

<症状>
% ruby /ruby/sample/eval.rb 
ruby> require "perl_obj"
true
ruby> string = " select * from table where col='aaa' "
" select * from table where col='aaa' "
ruby> string.to_perl
"\" select * from table where col='aaa' \"\020 "
                     ~~~~~~★ここです。

変な文字コードがおしりに付加されます。これは文字列中にシングルクォート
(')があると起こるようです。

<動作環境>
Windows/NT 4.0
ruby(win版)
ActivePerl
Win32:ODBC perlライブラリ

<原因>

perl_obj.rbの以下の部分
class String
  def to_perl
    dump ←このメソッドがバグっているようです。
  end
end

<暫定処置>
とりあえず、以下のようにして逃げていますが
これじゃ、当然だめですよね。

class String
  def to_perl
    "\""+self+"\""
#    dump
  end
end

---------------------------------------------
前川 佳春 (ymaekawa / trd.tmg.nec.co.jp)