$|++; $table = { d => 'h', l => { d => 'd', l => { d => 'b', l => { d => 'a' }, r => { d => 'c' } }, r => { d => 'f', l => { d => 'e' }, r => { d => 'g' } }, }, r => { d => 'l', l => { d => 'j', l => { d => 'i' }, r => { d => 'k' } }, r => { d => 'm', l => { d => 'l' }, r => { d => 'n' } }, } }; foreach $y (qw[ a b c d e f g h i j k l m n o p q ]) { $x = f($y,$table); print "Answer for $y = "; print $x," ", $$x{d},"\n"; }