> From: Christoph Rippel [mailto:crippel / primenet.com]
[...]
> this very often - I guess you want (you could use inject for this)
> something like 
Sorry,

that was orginally an inject version and I misformatted the result.

module MultiHash
def lset! (*parms)
	raise TypeError.new 'lset - not enough parameters' if (nl = parms.length - 2)< 0
	tmp = self  
	for i in 0...nl do
		if (minitmp=  tmp[parms[i]]).kind_of? Hash 
				(tmp = minitmp)
			else
				minitmp= parms.last 
				nl.downto(i+1) { |j| minitmp={parms[j] => minitmp} }
				tmp[parms[i]] = minitmp
			return self
		end
	end
	if  (tmp.key? parms[nl]) && (parms.last == tmp[parms[nl]])
		return nil 	
	else
		tmp[parms[nl]] = parms.last	
		return self
	end
end
end

....