Well here is two thoughts:

1) Use the dbi library for csv. This way you could just have a flat file database of users with their karama values that could be easily queried and inserted into. Letting the dbi library handle the quering and the data updates without constant file overwrites. This should also reduce the memory footprint of the file as it grows in size. Just use dbi and then connect to the karma.txt as a flat file database. You will have to insert some tabs or commas if you don't currently have them inserted.

2) Instead of reading and writing the file over and over .. note this is if it is a small file, just read into a memory hash or array, your choice but with the small amount of info to be stored i would say array, and then let the array just overwrite the file at the end of the execution. In this way you would only read and write to the disk once and handle all the rest of the transactions in memory which is much faster and would allow replacements within the array.

Hope thats helps.

Dave


In reply to Re: Storing karma by Zapawork
in thread Storing karma by dusk

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.