in reply to How to check that keys in two hashes match and get the corresponding values

Speaking as someone who has probably spent 3/4 of his development time or more in debugging, I would suggest not using sigils $%@ in your keys, i.e. use filer_device instead of %filer_device.

Perhaps I'm just narrow-minded, but it seems confusing, and not my idea of "Perlish".

I admit this isn't speaking to your problem.