From: snacktime Date: 2006-11-03T06:16:59+09:00 Subject: Re: str1 = str2 is not a copy?!? On 11/2/06, Joe Ruby MUDCRAP-CE wrote: > I have: > > File.foreach(data_file) do |line| > line.strip! > > puts line > > base_name = line > > puts line > > base_name.sub!('www.', '') > base_name.sub!(/\.\w+$/, '') > > puts line > end > > Which outputs: > > www.domain.com > www.domain.com > domain > > 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. As far as my understanding goes most assignments just copy object references. Try something like base_name = line.clone. Chris