Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^2: Regex and writing lines in file

by amma (Novice)
on May 01, 2013 at 09:59 UTC ( #1031538=note: print w/replies, xml ) Need Help??

in reply to Re: Regex and writing lines in file
in thread Regex and writing lines in file

I opened the file in string context and was able to find the pattern successfully. But I could not substitute the matched pattern with required pattern

$extra = "This is i will place after match\ this too"; open (my $fh, '+<', $file); $data = <$fh>; $data = s/(.*entry)\n([^\n]*)\n/$1\n$extra/

The $1 is found successfully. But could not do the substitution in the file.

Replies are listed 'Best First'.
Re^3: Regex and writing lines in file
by Random_Walk (Prior) on May 01, 2013 at 11:38 UTC

    You have now substituted within the $data variable. Next you need to write the contents of $data back to the file. Try adding something like this after the substitution

    # untested seek $fh, 0, 0; # rewind to the start of the file print $fh $data; # Write the entire file close $fh;

    Of course this may not be very efficient if you have a large file to alter, but then inserting into the middle of a very big file never is. If you are frequently updating random records in a file you may need to start thinking about using a database.


    Pereant, qui ante nos nostra dixerunt!

      Partially worked for me. Thank you!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1031538]
and God said, "Let Newton be!"...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2017-09-24 15:19 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (274 votes). Check out past polls.