Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: search one instance

by d5e5 (Beadle)
on Nov 04, 2010 at 20:34 UTC ( #869550=note: print w/replies, xml ) Need Help??

in reply to search one instance

toniax: In response to your revised question, instead of your script to read a file and replace only the first line that matches your pattern I would use in-place editing, read and print each line and update a variable when the I've found and replaced the first occurrence of the pattern.
#!/usr/bin/perl use strict; use warnings; my $filename = '/home/david/Programming/Perl/data/var.txt'; #So you can use diamond operator and inplace editing push @ARGV, $filename; #Enable inplace editing. Copy of input file saved as 'var.txt.bk' $^I = ".bk"; my $replaced = 0; while(<>){ chomp; if ($replaced == 0 and s/the line to be replaced/this is the new line/){ $replaced++; } print "$_\n"; }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://869550]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2023-03-27 23:45 GMT
Find Nodes?
    Voting Booth?
    Which type of climate do you prefer to live in?

    Results (66 votes). Check out past polls.