sub traverse { my $tree = shift; return unless defined $$tree->{left} and defined $$tree->{right}; traverse(\$tree->{left}); print $$tree->{val}; print "\n"; traverse(\$tree->{right}); }