in reply to Re: shift on a tied array leads to strange results
in thread shift on a tied array leads to strange results

Sorry for answering so late
but I had to work on another urgend task.

You're rigtht, I only posted an example code part, because I'm not used to editing text this way. Anyhow, if I use the code you have shown above, there are no problems (That's what I meant in my 'Test' statement).
It seems to be a problem of using Tie::File for IPC, because I thought, this might be a simple form of a persistent FIFO for complex ASCII-messages.
  • Comment on Re^2: shift on a tied array leads to strange results

Replies are listed 'Best First'.
Re^3: shift on a tied array leads to strange results
by BrowserUk (Patriarch) on Apr 28, 2005 at 20:47 UTC

    As Corion pointed out, Tie::File is not designed for concurrent access by multiple processes. It builds an index to the lines of the file in memory as it traverses the file and uses that index to find the lines if it has to revisit them. Shifting a line from the front of the file causes the entire file to be rewritten.

    If one process rewrites the file, the index held by the other process will be conpletely invalidated.

    Basically, "Don;t do that!".

    If you would care to describe the problem you are trying to solve (probably as a new question), then you will probably get good suggestions as to modules or code with which to solve it.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco.
    Rule 1 has a caveat! -- Who broke the cabal?