From: Gavin Kistner Date: 2006-11-03T06:16:43+09:00 Subject: Re: str1 = str2 is not a copy?!? From: Joe Ruby MUDCRAP-CE [snip] > WHY is var line getting changed by operations on var base_name? Isn't > 'base_name = line' supposed to create a copy? '=' in this > case seems to be acting like an alias or something. Variables point to objects, they do not "hold" or "contain" them. What you are suggesting is that: me = Person.new would create a new Person object, and then duplicate it before assigning to 'me', or that: my_really_long_array_name = [ 1, 2, 3 ] short_name = my_really_long_array_name would result in two different copies of the array. That's the opposite of how it works :)