http://qs321.pair.com?node_id=420412

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