I'm using Perl to create a very long CSV file based off conditions determined from an input file. The input file has lines that consist of variables that are comma-separated, which I've "split" and defined as $a,$b,$c. The output file is similar to the input file, except for $c, which is determined by certain conditions in the input file (let's say $c changes to $z in the new file). I'm currently using "open (NEWFILE, ">C:/...");", then "print NEWFILE "$a,$b,$z\n"" (actually much more complicated than this, but you get the idea...) to write the new file. It seems silly to create an entire new file when I could just be editing the $c variable in the input file... am I right?

I'm using Tie::File to read the input file line-by-line as an array. I understand that I can also use this method to modify records in a file, which would cut out the seemingly wasteful step of making a new file... however, I'm not sure how to modify just one variable of a split line using this method (e.g. change $c to $z in each line). This is probably simple, but I can't seem to get the right syntax to make this happen. Can anyone lead me in the right direction? Let me know if you need more info about the script.


In reply to Modify values of tied, split lines in a file by glemley8

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.