sub evalTree { my $intree = shift; my $param = shift; local $_ = $intree->{contents}; # A shortcut for the current node return 0 unless defined; if (/^sub /) { return eval->( evalTree($intree->{left},$param), evalTree($intree->{right},$param) ); } elsif (/^[x]$/) { return $param->{$_}; } else { return $_; } } #### if (/^sub /) { #### if (left($_(0),3) = "sub ")