is only 43 characters long, and you're doing $zh= substr $_,48,8; on it. That takes the 48th through to the 55th characters and sticks them in a string. Read the error message with this in mind, and see if you can work it out :)
Jasper: Yeah, I got it. *sheepish grin* End of line char at the end of file. Thanks. :)
Oh, and a couple of places where the file formatting was irregualr because of overwriting. *feels dumb*
On the positive side, I've learnt more in the time it took me to read this thread and attempt to implement all of the suggestions (I did) than I did while trying to debug all by myself...So I owe all the Monks who were kind enough to reply a huge thanks.