in reply to Calculate the overlap length between two ranges
Prints:#!/usr/bin/perl use strict; use warnings; use List::Util qw/ min max /; my $hash = overlap('31-52', '27-50'); use Data::Dumper; print Dumper $hash; sub overlap { my ($r1_lo, $r1_hi, $r2_lo, $r2_hi) = map {split /-/} @_; my $min = max($r1_lo, $r2_lo); my $max = min($r1_hi, $r2_hi); return if $min > $max; return {min => $min, max => $max}; }
$VAR1 = { 'min' => 31, 'max' => 50 };
|
|---|