It gets stranger.

The expression works up to this point:

s/^.*?^[\s]*<tr 
class=msg(new|old).*?^<td.*?name="Mid".value="([^"]+)".*?^<td>(.*?)<.*?^<td>.*?^[\s]*<a.//sm

If I add an h at the end, to make

s/^.*?^[\s]*<tr 
class=msg(new|old).*?^<td.*?name="Mid".value="([^"]+)".*?^<td>(.*?)<.*?^<td>.*?^[\s]*<a.h//sm

The CPU maxes out and it just hangs.

On Sat, Nov 12, 2005 at 10:58:05PM -0500, Adam Kessel wrote:
> The problem is on line 856:
> 
>   while ( $tmpPage =~ s/^.*?^[\s]*<tr 
> class=msg(new|old).*?^<td.*?name="Mid".value="([^"]+)".*?^<td>(.*?)<.*?^<td>.*?^[\s]*<a.href=.*?ShowLetter\?MsgId=([^&]+)&.*?\n(.*?)\n.*?^[\s]*<td
>  .*?>(.*?)<.*?^[\s]*<td>(.*?)<//ms ) {
> 
> Strangely, perl is totally hanging on this line, at least with the Yahoo
> account I'm testing it with. I even took the $tmpPage stuff content out
> and wrote a one line perl script that just attempts to run the s//
> expression on that string and it maxes out my CPU and hangs. I can't
> understand why perl would ever do this... Something is obviously awry.
> 
> I tried it on two separate systems with different perl installations
> (stable and unstable) with same result.
> 
> If you remove either the m or the s flag from the end of the regexp, it
> doesn't hang. I'm not sure if that will screw up fetchyahoo otherwise,
> though. Can someone help figure out what's going on here?


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to