Just another Perl shrine | |
PerlMonks |
(Dermot) RE: RE: RE: RE: Re: Stripping page headersby Dermot (Scribe) |
on Sep 28, 2000 at 01:54 UTC ( [id://34286]=note: print w/replies, xml ) | Need Help?? |
Ok, I've made two modifications to what I originally posted
and now it works ok with your data. My original script would
never have worked properly with your report file, it worked
with the trivial example that I tested it on but how and ever.
Here is a working version:
Addition of m modifier to the substitution. Because we are dealing with the whole report file in one scalar it is effectively one string and the rule for ^ and $ is that they match at the start and end of a string, not a line. To get ^ and $ matching at the start and end of a line instead of a string we have to add the m modifier. Now it sees the string in $report as a series of lines delimited by \n characters. Addition of .* to the regex to deal with the rest of the line. By adding .* to the regex we cause it to match (i) start of line, (ii) piece of text that we're using as a tag on the line, (iii) rest of the line up to the next \n. A dot character in a regex matches any character except a newline (\n). If you want it to match a newline you can specify this using the s regex modifier. Just to top off the confusion you can actually use both the s and m modifiers on the same regex. Most people assume that they mean single-line vs multi-line but actually they mean match newlines with dot and match ^ and $ in lines not in the whole string.
In Section
Seekers of Perl Wisdom
|
|