|more useful options|
barring any syntax errors:
doing the double open-sysopen technique helps avoid races for opening the file and having that content altered in those few miliseconds.
it's rare, if you have a small site, that two users would access the file at the same time - but i wouldn't take the risk. Besides, w/CGI work - if someone is ~intentionally~ messing w/your system -> you want to ensure that you're opening the right data and not something that was swapped in by a nefarious user. (This is the reason for using 2 separate filehandles too -> MYFILE1 and MYFILE2).
LOCK_EX (exclusive locks) are needed, when writing to files - otherwise, LOCK_SH (shared locks) are all that's needed, i believe, when reading.
also: i'm not sure, if i'd actually use DIE like this in a cgi system, if the user is going to see the output. You probably want to 'die' gracefully -> using WARN, &subroutine, or some other action instead.
for more info - see Camel -> pgs 419-422, 571-573, 712, 714-715, 808-810
In reply to Re: How to modify/delete records in a flat-file database?