in reply to Changing records

Your latter idea, assigning ID numbers to people, having "number,name" in one file and "date,number(s),hours" in the other file, is definitely the way to go. This is called normalizing a database -- basically, don't store a piece of "mutable" data in more than one place.

For that matter, don't store more than one name/person-number in a single "hours" record: i.e., it should always be just "date,person_number,hours", one person mentioned per row.

As for better suggestions, try actually using a relational database (e.g. mysql), where this sort of thing is quite natural and easy. (But that's not essential -- for something on this scale, you could just as well use perl hashes to provide the same functionality without breaking a sweat.)