sub find_key_dupes { my $binary_tree=shift; my $key=shift; my $sub; my @dupes; $sub=sub { my $node=shift; return unless $node; if ($node->{key} lt $key) { $sub->($node->{right}); } else { push @dupes,$node if $node->{key} eq $key; $sub->($node->{left}); } }; $sub->($binary_tree); return \@dupes; }