use Tree::Range; my $tr = Tree::Range->new(); $tr->add(10,20,"a"); $tr->add(15,25,"b"); $tr->add(50,67,"c"); $tr->add(22,49,"d"); $tr->finalize(); print join ",", $tr->search(19,23); # "a,b,d"