in reply to Calculate overlap between 2 ranges of numbers

You could use Set::IntSpan:

use Set::IntSpan; my $r1 = Set::IntSpan->new([ 5 .. 15 ]); my $r2 = Set::IntSpan->new([ 2 .. 20 ]); my $i = $r1->intersect($r2); if ( !$i->empty and ( $i->max - $i->min ) >= 5 ) # criteria { print "hit\n"; } else { print "miss\n"; }
I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.