#!/usr/bin/perl my $string = "123123124"; my $len = 5; my %substrings; for (my $i = 0; $i + $len <= length $string; $i++) { my $sub = substr($string, $i, $len); $substrings{$sub}++; } print "$_ => $substrings{$_}\n" for sort { $substrings{$b} <=> $substrings{$a} || $a cmp $b } keys %substrings;