in reply to parsing a multi-line pattern and replacing
Why are you using Tie::File? Doing line-based matching will be tricky. Unless your files are huge (many megabytes), slurping the entire file will be both faster and easier, and File::Slurp save you from worrying about any temp file mechanics:
use File::Slurp 'edit_file'; edit_file { s!<default>.+?</default>!<default>enabled</default>!sg } ' +inputfile';
With the same inputfile you list, I get the expected output:
this is line 1 this is line 2 <default>enabled</default> this is line 3 <default>enabled</default> this is last line
Have a look at File::Slurp for more information on this often overlooked but very handy function.
use strict; use warnings; omitted for brevity.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: parsing a multi-line pattern and replacing
by ghosh123 (Monk) on Apr 25, 2014 at 04:55 UTC | |
by ghosh123 (Monk) on Apr 25, 2014 at 08:00 UTC | |
by Anonymous Monk on Apr 25, 2014 at 13:06 UTC |
In Section
Seekers of Perl Wisdom