完全に別というのはどうかと

irb(main):001:0> str = "foo"
=> "foo"
irb(main):002:0> def poo(s); s.replace("bar"); end
=> nil
irb(main):003:0> poo(str)
=> "bar"
irb(main):004:0> str
=> "bar"