次のコードを検討してください。
@person = { :email => 'hello@example.com' }
temp = @person.clone
temp[:email].upcase!
p temp[:email] # => HELLO@EXAMPLE.COM
p @person[:email] # => HELLO@EXAMPLE.COM, why?!
# But
temp[:email] = 'blah@example.com'
p @person[:email] # => HELLO@EXAMPLE.COM
Ruby のバージョンは「ruby 2.1.0p0 (2013-12-25 リビジョン 44422) [i686-linux]」です。
なぜそれが起こっているのか分かりません。誰でも助けてもらえますか?