in reply to Accessing keys through values
I don't really understand what you are trying to achieve.
You read a file into the array @a2 --- wouldn't it be better to name the array for what the data representst, for example @heights? Then you go through a window of 9 elements, to see if the central element in that window is the maximum for the window. Then you slide the window along, and try again.
Maybe you really are trying to locate locale maxima, but if you explained what you were trying to achieve, we could help you more.
For one thing, when you are dealing with a window from N..N+8, if N+4 really IS the local maximum, there's no point testing the windows starting at N+1, N+2, N+3, N+4. You've already established that N+4 is greater than any of N+5, N+6, N+7, N+8. So you might as well skip to the window from N+5..N+13.
--
TTTATCGGTCGTTATATAGATGTTTGCA
|
|---|