oldmanwillow has asked for the wisdom of the Perl Monks concerning the following question:
Hi, and thanks for reading!
This seems like it should be pretty simple to figure out, but I guess don't know enough Perl yet to make it work. I need to find a multi-line string in a text file, delete it, and delete the blank line above it. I'm able to delete the string itself, but not the blank line above it.
The file is structured as follows:
start_of_block { some_data ; more_data ; even_more ; }; start_of_block { data ; };
Here's what I tried:
$/ = "" ; while (<>) { s/\nstart_of_block.*?};//s print ; }
If I remove the \n from the beginning of the pattern, the block is deleted, but of course the newline remains. With the \n in place, the match simply fails.
Any pointers?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: delete above matching line?
by moritz (Cardinal) on Jul 01, 2010 at 07:22 UTC | |
by oldmanwillow (Novice) on Jul 01, 2010 at 07:56 UTC | |
by happy.barney (Friar) on Jul 01, 2010 at 08:19 UTC | |
by oldmanwillow (Novice) on Jul 01, 2010 at 16:34 UTC | |
|
Re: delete above matching line?
by Utilitarian (Vicar) on Jul 01, 2010 at 08:54 UTC | |
by oldmanwillow (Novice) on Jul 01, 2010 at 16:36 UTC |