$ perl -Mstrict -Mwarnings -e ' my @input = qw{12 14 15 20 21}; my $ranges = 3; my @bins; for (@input) { ++$bins[$_ / 20]; } for (0 .. $ranges - 1) { printf "%d-%d %d\n" => $_ * 20 || 1, $_ * 20 + 19, $bins[$_] // 0; } ' 1-19 3 20-39 2 40-59 0