First, thanks to all who tried to help... and especially to those (most of you) of nailed the problem immediately, pointing out that the way I used the input record separator, $/, had logical problems, as AnomalousMonk, tye (second guess) and Athanasius noted.
The solution involved simply moving - as an elsif... - the /$eot/ test down below the regex looking for error messages (Ln33-34 in the OP's "whereas...." code block).
... and for anyone still reading, mea culpa, I should have noted (in the OP!) that the html in the raw data horribly and unnecessarily convoluted and that the /$eot/ sequence occurs only once at the very end of the data file. Its only utility is to supress an inconsequential warning. Also, my $trterminator = qr[</tr>\n</table></td></tr></table>]; is never used (it appears only once but that did not produce any warnings, an occurance suggesting I better review the docs).
Still, despite the shortcomings of the OP, Monks and the Monastery came thru in "class A" fashion. Again, thanks!
In reply to Re: Example of brainfog (Was: inconsistent regex matching)
by ww
in thread Example of brainfog (Was: inconsistent regex matching)
by ww
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |