This is not answering your actual question, but something you might want to keep in mind:
Since you open the file, then potentially wait on the flock, someone maybe have appended to the file in the meantime, so you should add the following line after the flock:
seek(UNSUB, 0, 2);
Or, if you want to make your code a little more understandable, you could do something like this UNTESTED example code:
use Fcntl qw/:flock :seek/; open(UNSUB, ">>unsubscribe.txt"); flock(UNSUB, LOCK_EX); seek(UNSUB, 0, SEEK_END); print UNSUB "$surveyID\n"; close UNSUB;
HTH
Update: According to what Abigail-II just posted, it seems the seek is not necessary, at least on a Unix system, since 'the system (well, at least a Unix system) will seek to the end before you perform a write.' So you can ignore what I said, unless the script is meant to be portable to a non-Unix system, or you just want to be safe...
--In reply to Re: use die with flock
by edan
in thread use die with flock
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |