From: Jon B. <jon...@gm...> - 2009-05-12 12:48:26
|
On 5/11/2009 10:33 AM, Joshua D. Curry wrote: > Spoke too soon. Problem is back. Getting Error 3 and no other error > messages. Any ideas? I managed to fix this, at least for me. I added a bunch of debug info, so line numbers are probably not exact. First, I noticed that the doc type was transitional, so I changed line 1025 from $mainPage =~ /^<!DOCTYPE HTML PUBLIC "-\/\/W3C\/\/DTD HTML 4.01\/\/EN"/ || to $mainPage =~ /^<!DOCTYPE HTML PUBLIC "-\/\/W3C\/\/DTD HTML 4.01 Transitional\/\/EN"/ || I did that at line 1043, as well. This worked, in that it gave me a message count, but then it went into an infinite loop. It appears to be choking on one of the regex's: In line 1149, I changed this: $tmpPage =~ s/<tr class=(msgnew|msgold).*?name="mid".*?value="([^"]+)".*?href="(.*?mid=)([^&]*).*?td title="([^"]*)".*?"title="([^"]*)".*?<td.*?>(.*?)<\/td><td>(.*?)<\/td><\/tr>//ms) to this: $tmpPage =~ s/<tr class="(msgnew|msgold)".*?name="mid".*?value="([^"]+)".*?href="(.*?mid=)([^&]*).*?td title="([^"]*)".*?<td.*?>(.*?)<\/td><td>(.*?)<\/td><\/tr>//ms) I enclosed the class in double quotes, and removed the second title match. That seems to have done the trick for me, although it does throw some warnings: Use of uninitialized value in concatenation (.) or string at ./fetchyahoo line 1226. Line 1226 is if ($msgcount > $maxMessages) { Hope this helps. jon |