To add just a little more to the learned discussion on this
topic, you need to be worried about how flock() works on
your system - on most Unices I have used, it is advisory
only. That is, the locking is not enforced by the file system.
Normally, this isn't a problem. Until you write code like
open TEST, ">test.html" or die "A grim and horrible death: $!";
unless ( flock test, 6 ) {
close TEST;
die "Couldn't get the lock!";
}
The open() call will cause you all sorts of grief because you
opened the file for writing. Regardless of the locking,
the OS has just overwritten the file. If you can't get the lock,
either you or perl will close the file, and write a file with
exactly 0 bytes in it. You should always open the file for
append. If you do get the lock, you can always use seek()
to start rewriting.
turnstep's example does this, but I didn't see any explanation
and this mistake has caused me a fair amount of pain previously.
mikfire
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.