Uhm, I need to correct some hasty typos. > h3 = Hash.new { |h,k| h[k] = [] } > h2[:a] << "alpha" #=> ["alpha"] should be > h3[:a] << "alpha" #=> ["alpha"] > > l = lambda { |h,k| h[k] = Hash.new &l } > h4 = Hash.new &l > h[:a][:b][:c] = 5 #=> { :a => { :b => { :c => {} }}} should be > h4[:a][:b][:c] = 5 #=> { :a => { :b => { :c => 5 }}} Jim Freeze