in reply to File Reading and Hash Accessing that isn't doing what you'd expect.

Ah, the pitfalls of each - leaving the hash in a certain state when aborted halfway. The simplest fix would be to call keys (in void context) on the hash before looping over them. Better would be to use a hash indexed on the values - then you can do a simple lookup instead of a iterating.