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.
In Section
Seekers of Perl Wisdom