The file lock does not good there. You have the following race:
  1. process 1 starts up and decides what file to create
  2. process 2 starts up and decides to create the same file.
  3. process 1 creates the file, and locks it.
  4. process 2 opens said file and tries to lock it.
  5. process 1 writes the file and exits.
  6. process 2 finally gets the file, overwrites what process 1 does and exits
The fact is that while conceptually file locking is really simple, virtually nobody gets it right in practice. What you need to do instead is have a lockfile that always exists which, before doing operations that you want protected, you open and lock.

That is the lock has to come before the process begins making any sort of decisions. And generally that means that you don't want to lock the file(s) you are going to work with.


In reply to Re (tilly) 3: using loop/array to write files by tilly
in thread using loop/array to write files by ginocapelli

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.