Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Modify values of tied, split lines in a file

by Marshall (Abbot)
on Oct 22, 2012 at 19:16 UTC ( #1000408=note: print w/replies, xml ) Need Help??

in reply to Modify values of tied, split lines in a 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 don't think so. Creating a whole new file seems the right way to do it in this case.

A file on the disk is essentially like a stream of bits. There is no way to "insert" some extra bits in that stream without re-writing all of the bits that come after that insertion. Tie::File can "hide" some of this reality from you, but the physical situation remains the same.

A database can allow the modification of a column, but the data structures are much more complex than a simple line oriented file. If you want to modify say field 4 in a .CSV file, yes re-writing the entire file is the right way to go.

There is a DBI module that handles .csv files, but again it will wind up re-writing the entire .csv file. It will cache stuff, but at the end of the day, a new file will be written.

  • Comment on Re: Modify values of tied, split lines in a file

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1000408]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (12)
As of 2018-06-25 18:48 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (128 votes). Check out past polls.