http://qs321.pair.com?node_id=11122271


in reply to substrings that consist of repeating characters

TIMTOWTDI

#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11122267 use warnings; my $string = "AAATTTAGTTCTTAAGGCTGACATCGGTTTACGTCAGCGTTACCCCCCAAGTTATT +GGGGACTTT"; my @substrings; push @{ $substrings[length $1] }, $1 while $string =~ /(([ACTG])\2+)/g +; my @sorted = map @{ $_ // [] }, reverse @substrings; use Data::Dump 'dd'; dd \@sorted;

Outputs:

[ "CCCCCC", "GGGG", "AAA", "TTT", "TTT", "TTT", "TT", "TT", "AA", "GG", "GG", "TT", "AA", "TT", "TT", ]