I am having a problem with the following, $match2 works, $match does not. Any ideas?
my $rec = ' <td align="center" valign="middle" class="pdad">
extract this, please!
</td>
<td width="2"><img src="../images/spacer.gif" width="2" height=
+"1" /></TD>
</tr>
</table>
</td>
<td width="1" bgcolor="#dddddd"><img src="../images/spacer.gif" wi
+dth="1" height="1" /></td>
<td bgcolor="#FFFFF7" align="center" valign="TOP" nowrap>
<table align="center" cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="2"><img src="../images/spacer.gif" width="2" height=
+"1" /></TD>
<td class="pdad">$689,900</td>';
my $tag = '(?:<[^>]*>\s*)';
my $match = qr/$tag(.*?)$tag{17}\$(.*?)<\/td>/;
print "MATCH: $match\n";
if($rec =~ m|$match|is)
{
print "YAY!!! $1, $2\n";
}
my $match2 = "$tag(.*?)$tag" . '{17}\$(.*?)</td>';
print "MATCH2: $match2\n";
if($rec =~ m|$match2|is)
{
print "YAY2!!! $1, $2\n";
}
Output is:
MATCH: (?-xism:(?:<[^>]*>\s*)(.*?)(?:<[^>]*>\s*){17}\$(.*?)</td>)
MATCH2: (?:<[^>]*>\s*)(.*?)(?:<[^>]*>\s*){17}\$(.*?)</td>
YAY2!!! extract this, please!
, 689,900
|