It all will depend on how your text file is organised. If it is like a CSV-type of file, you could have a look at DBI and DBD::CSV.

Otherwise, you would have to read in the file on a record-by-record basis (saving them immediately in a temporary file), until you reach the record you need, parse out the fields of that record, change the field, save this record and then reading and saving all remaining records. Delete the original file and rename the temporary file to the original name.

Attention: only one process/user can access the file at a time, so you will have to take care of locking the file while you are using it or otherwise "Bad Thing Will Happen"™. It is one of the benefits of using a database that you don't have to take care of that issue.

CountZero

"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law


In reply to Re: how to update a field of a record in a large text file by CountZero
in thread how to update a field of a record in a large text file by sandeep

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.