http://www.perlmonks.org?node_id=920171


in reply to Binary Search Tree Debug Question

if ( $tree->{VALUE} > $value ) { insert( $tree->{LEFT}, $value ) } elsif ( $tree->{VALUE} < $value ) { insert( $tree->{RIGHT}, $value )
What if the data includes duplicated values? The Perl CookBook (1st and 2nd editions) had an additional line:
if ( $tree->{VALUE} > $value ) { insert( $tree->{LEFT}, $value ) } elsif ( $tree->{VALUE} < $value ) { insert( $tree->{RIGHT}, $value ) else { warn "$value duplicated" }

or, if you want to include the duplicates, change either '>' to '>=', or '<' to '<=':

if ( $tree->{VALUE} >= $value ) { insert( $tree->{LEFT}, $value ) } elsif ( $tree->{VALUE} < $value ) { insert( $tree->{RIGHT}, $value )