Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

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

by Marshall (Monsignor)
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 the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2016-05-31 22:34 GMT
Find Nodes?
    Voting Booth?