in reply to DBI vs MLDBM/GDBM_File, etc.

Crikey - reading those replies made my eyes hurt.

Points:
1. GDBM_File is *really* easy. If you're just using a glorified hash, you just tie() it to a disk file and it bgehaves exactly like a normal hash. Large-ish files (in comparison to flat files) but simple, faster and hacky.

2. SQL is also really easy. Learning more about relational databases will look good on your CV. MySQL is free, but unless you host the site you'll need to find a host who runs it. If it's a standalone program then you require the users to install MySQL and the DBD/DBI interfaces, then run a setup script to check the db is set up OK, install the tables etc etc.

My advice? Depends on how much time you have. If you have the time and desire to learn some SQL, do it - it crops up everywhere these days, and it really is easy as (insert easy thing here). Otherwise, just use GDBM_File. It sounds like it will be painless to implement, and it is stupendously easy.

One more point - ignore that complicated JOIN stuff above, just keep it simple like the first example and your program will work. Yes, it can be optimised further, but hey, it's easy to maintain, and the difference is bound to be negligible. The first example is readable to someone who doesn't know SQL, the second isn't. Go figure.

Adam
adam@sixzeds.com