I looked at my code again and realized that it was doing what
it was supposed to. It seems that the input files that I was
reading from were changed without notice (which, I was told,
was not going to happen).
Rule #1: Never, ever trust the user (or their data). Double
check everything! :) That's one of the many reasons I love
perl: it is so easy to write code that checks the format
of any data it is receiving, or forces it change to the correct one, or only extracts the correct portion, or
even sends an alarm when "bad" data is read in.