my %step; foreach(@range) { $step{ $_->[0] }++; $step{ $_->[1]+1 }--; }