Problem: DBD::CSV doesn't provide some of the functionality Mike wants us to have (like auto-incrementing fields and whatnot).
Decision: See if I can get a MySQL server working on my Win32 system.
Outcome: Yee-haaawwww! Downloaded it, unzipped it, installed it...it just WORKS!
Now, to point Newser's code (the new name for this thingy) at MySQL and continue work. The due date is Monday. Luck, schmuck...I'll need a small miracle for this thing to look good. :\
If, for some reason, you do get stuck using a CSV database, you can check out my CSV database validation program. It will allow you to create a CSV database and validate unique fields, foreign key constraints, and simple data types. You can even use a regex for a data type.
The only limitation that I'm aware of is that it validates a database, but as a "one-time" thing. Thus, you can't use it at run time (though I'm sure it could be hacked...). I think it's great for testing CSV applications. Put your app through its paces and then run the validation code to see if anything doesn't validate.