#! perl -slw use strict; my $dna = do{ local $/; }; $dna =~ tr[\n][]d; my %counts; ++$counts{ substr $dna, $_, 1 } for 0 .. 199; for my $offset ( 0 .. length( $dna )-200 ) { printf "range: %d .. %d A:%d C:%d G:%d T:%d\n", $offset, $offset+199, @counts{ qw[ A C G T ] }; --$counts{ substr $dna, $offset, 1 }; ++$counts{ substr $dna, $offset+200, 1 }; } __DATA__ TGCCATCGCGCCAGGAGGGAAGACCAGTTGCTCTGGGTAAATCAGCCGTGAGCGTATCTGTCCCTCTTATAATTAGGAGTTTAAACTCTACGATGTTACC ATCCTTGAATCAGGTATATACCGCACTGAAACATCGTCGGCTTTGGGCTCATTCGCTACCCTGTCGCTGATATGCGATCTATTCTACATATGCGGGGCCA CCCAATGTCGATTGTCATGAGGAGGGGGTCATAACGACTCACTATAGGACCAGCACGTCCGGTTGCGCTGAGTAAAATAGAGCTACAAAAGACACAGTAC TCCAAGATGTAAAGGGGAAGACGGGACCTGGGTCGGGGGCGCAACTTCACTGAGCTTTTAACCTTGCGCGCATGCGAGAGCCTTTCCGCTTAGGAAATGC TGTAAGATCAAGTGGTAGGACTATTGAGAGGTCTTACCTTGCCGCAGCAACGTGGACGGCGACCGGATAATTTAAGGCCGACATTCAATATAGAATGTCA GGGAGCAGAACTGTATCCCAAATGCTAGTTGTAGGTGTACGAGCGCACCTGGGGACCTATCGCTCCGACGGGGTCTGCGTAGCCCATACATCCTGCCAGC ACTGGGGCTATTGAACGGTCAATCCGTAATGTACTCGCTGAATGCTCAGGGATTCCTTAATCTTTGAGCACGCGGCTTCTCTCACTTTTCTCACGTCAAC CCTGACTCATAACGGAGTTCGGCAGTCCCGGAACGGCTTATAGAAGCAATGCCTGAGTAGATAGCGTCAGGGATCGGCCCTACGTCGAGTCCAGTACGCC ATTGGATGGAGGTCTCAGCCGTCGGTGGAGTGCGGCTCCACCCCCACATGAACGAGGTTGTTCCTGACCACCCCTGAAACTGTGAGAACCATTGTGTCGA AACCAAGAGGCTTGCGTCGCGCTATAGGTCGATTGCCCCCTAGTTTCCCTATATTGAACGTGTTTCCATTAAAGACTCTCGGTAAATCTCACGTATTGCA