It may be worth considering dumping the milcar file into an SQLite database, using Perl to get your data from file2, and then using the modules DBI & DBD::SQLite along with SQL's native functions to find db-matches against file2's fname, lname.
in reply to Re^2: Writing Program With Hashes and Loops For Files With Data in Columns
in thread Writing Program With Hashes and Loops For Files With Data in Columns
That's not to claim I'm sufficiently expert with dbs to guarantee that this is the best approach but -- based on limited experience with (mostly) toy-applications -- it looks pretty plausible to me and DBI and DBD::SQLite will make the learning curve much shallower while the SQL capabilities can handle most of your search, sort and write requirements.
If you didn't program your executable by toggling in binary, it wasn't really programming!