in reply to still confused!

The path ahead will be much smoother if you
  1. use strict;
  2. Check system calls (like open) for failures
  3. Don't prime %keyhash with a bogus entry
  4. chomp(@data = <FILE>); to remove "\n" from the SRIDs (on the assumption that you're going to use them at some point as the script evolves)
  5. store your SRIDs consistently. (What you're pushing onto %keyhash isn't consistent with how you claim to be laying that structure out.