in reply to Hashes with multiple values?
Going to throw my two cents in here. Forget about the code for a second.
A lot of your code is wrong, as you know. But the process you're following looks like you aren't even testing it. Write a couple lines and then do some prints to see if it's doing what you expect. Also, before you try to do this project, please read on:
A) Hash, Array, Scalar in Perl
B) File I/O
C) Split
D) Pattern Matching
The Camel book is for newcomers like you. Have fun.