in reply to parsing data in a file

Take a close look at the error messages and the lines in your data the error messages correspond to. You'll see that on line 3 of your data the name is JonDeLoach, so there is no whitespace for your second split to split on, and hence no data in $lname. As for lines 11 and subsequent of your data...well, I'm sure you can easily see what's wrong with them.

All dogma is stupid.