DB<39> $_ = "AAATTTAGTTCTTAAGGCTGACATCGGTTTACGTCAGCGTTACCCCCCAAGTTAT +TGGGGACTTT"; DB<40> push @substr, $1 while /((\w)\2+)/g DB<41> @sorted = sort { length($b) <=> length($a) } @substr DB<42> x @sorted 0 'CCCCCC' 1 'GGGG' 2 'AAA' 3 'TTT' 4 'TTT' 5 'TTT' 6 'TT' 7 'TT' 8 'AA' 9 'GG' 10 'GG' 11 'TT' 12 'AA' 13 'TT' 14 'TT' DB<43>
Storing the length in @substr for a Schwartzian transform might be faster, but I wouldn't bet on this.
IMHO is length only doing a simple lookup of the pre-calculated length inside Perl's data-structure for strings and should be pretty fast.
HTH! :)
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
DB<43> print join "\n", sort { length($b)<=>length($a) } @substr CCCCCC GGGG AAA TTT TTT TTT TT TT AA GG GG TT AA TT TT DB<44>
In reply to Re: substrings that consist of repeating characters
by LanX
in thread substrings that consist of repeating characters
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |