in reply to Sort and Substitution

You may be interested in using substr as part of your search function.
@sorted = sort { substr($a, 7, 5) cmp substr($b, 7, 5) } @unsorted;
The trick is in efficiency. You may want to think about expanding this using the Schwartzian Transform if you're dealing with a lot of data:
@sorted = map { $_->[0] } sort { $a->[1] cmp $b->[1] } map { [ $_, substr($_, 7, 5) ] } @unsorted;
This does basically the same thing, but all of the substring operations are done first, and done only once. The simpler example involves doing the substr multiple times as each substring is compared against each other substring.