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

Re: Replacing Lines in a File

by Stevie-O (Friar)
on May 26, 2004 at 19:52 UTC ( #356711=note: print w/replies, xml ) Need Help??

in reply to Replacing Lines in a File

As punkish has said, there's no way to do it other than by rewriting the entire file after where you're modifying. However, there are things that can severely reduce the actual amount of stuff you have to code to accomplish that. For your specific example, the -lpe -i.bak oneliner is probably the easiest. Here's an example of something using Tie::File, which allows you to treat a file as an array of lines (change the array, change the file).
tie @array, 'Tie::File', '/data/syslog/log.backup' or die "Damnit, Jim +, he's dead: $!"; s/$ip/$txt/ for @array;
$"=$,,$_=q>|\p4<6 8p<M/_|<('=> .q>.<4-KI<l|2$<6%s!<qn#F<>;$, .=pack'N*',"@{[unpack'C*',$_] }"for split/</;$_=$,,y[A-Z a-z] {}cd;print lc

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2018-03-20 22:07 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (260 votes). Check out past polls.