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"; }
|
|---|