Hi monks
I have another question regarding pattern matching.
I have a piece of html that I need to search through. The html looks like this:
<!-- Start_of_revision-->
revision1
<!-- End_of_revision-->
<!-- Start_of_revision-->
revision2
<!-- End_of_revision-->
<!-- Start_of_revision-->
revision3
<!-- End_of_revision-->
What I need to do is find the three revisions between <!-- Start_of_revision--> and <!-- End_of_revision-->.
I am using the following bit of code to do this, but I am only printing "revision1" and not the second two:
my $file = $foo_bar_file;
open (FILE,"<$file") || die $!;
read FILE, my $text, -s $file;
close(FILE);
if($text =~ /<!--Start_of_revision-->(.*?)<!-- End_of_revision-->/
+sg)
{
print $1;
}
I am slurping in the whole file, I am using .*? (i.e. non greedy), and I'm using the s and g modifiers. I thought that this would be enough to find all three occurrences of anything between <!-- Start_of_revision--> and <!-- End_of_revision-->, so what am I doing wrong??
Thanks in advance,
C J
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|