my $binSize = 20; my $bin = 0; my $total = 0; while ((my $line = // '') || defined $bin){ chomp $line; my ($chr, $pos, $coverage) = split /\t/, $line; my $thisBin; $thisBin = int(($pos - 1) / $binSize) if defined $pos; if (! defined $thisBin || $bin != $thisBin) { printf "%4d %d\n", 20 * (1 + $bin), $total; last if ! defined $thisBin; $bin = $thisBin; $total = 0; } $total += $coverage; }