spamみたいなsubjectですいません。

  最近、下のスクリプトに関連したネタが転がっていたのですが
(Googleで"Acocdrnig elgnsih unviesitry"のキーワードで検索したら出てきます)、
このjumbleに本来の機能(文字をバラバラにする)を持たせるにはどう書けば
いいのでしょう?

--------
def jumble(word)
  word.reverse
end

def do_jumble(text)
  text.gsub /(\w)(\w{2,})(\w)/ do
    $1 + jumble($2) + $3
  end
end

<<EOT.each { |line| puts do_jumble(line) }
According to an english university study the order of letters in a word
doesn't matter, the only thing that's important is that the first and last
letter of every word is in the correct position. The rest can be jumbled and
one is still able to read the text without difficulty.
EOT
--------