in reply to Re: finding intermediate range values from two file columns
in thread finding intermediate range values from two file columns

Interval sets provide for a concise solution. Here's a demonstration using choroba's data.

#! /usr/bin/perl -wl use Set::IntSpan; ($",$/) = (',',''); my ($f1, $f2) = map [ m/(\S+)/g ], <DATA>; while (my ($k, $v) = splice(@$f1, 0, 2)) { my @r = map Set::IntSpan->new($_)->I($v), @$f2; print "$k: @{[map $_->run_list, grep $_->size, @r]}"; } __DATA__ a 11-23 b 33-39 c 40-45 d 48-58 1-34 35-39 40-42 43-49 51-59 62-90