Pearl implements Perl's autovivification in ruby. OpenStruct gets us 80% of the way there.
irb(main):017:0> a = Pearl.new
=> #<Pearl>
irb(main):018:0> a.pants.belt.buckle.burst = true
=> true
irb(main):019:0> a
=> #<Pearl pants=#<Pearl ...>>
irb(main):020:0> a.pants
=> #<Pearl belt=#<Pearl ...>>
irb(main):021:0> a.pants.chores = 4
=> 4
irb(main):022:0> a.pants
=> #<Pearl chores=4, belt=#<Pearl ...>>
irb(main):023:0> a.pants.chores
=> 4
I may work out the details of an implementation where you include Perl::Auto and then you wouldn't even have to explicitly call Pearl.new, you could just use local variable names but that would be evil.
Main repository is at http://github.com/aaronblohowiak/pearl/
Pearl is released under the WTFPL.