I want to hold data from structures in another array, modify the external
structures  so that the array still refelects the changes: I've done as
shown underneath but am i storing a 'reference' in the c/c++sense or am I
duplicating data in the 'stuff' object? I dont wont to excessive memory
usage.

def main
stuff=Hash::new()
a1=['a','b','c']
b1=['a','d','f']
ll=nil

['a','b','c','d','e','f'].each {|i|
  stuff[i]=Array::new()
  }

stuff['a'].push(a1)
stuff['a'].push(b1)
puts "#{stuff['a']}"
a1[0]='foo'
puts "#{stuff['a']}"
end

main