in reply to Pattern Search on HTML source.

It's notoriously poor form to try to parse html with regular expressions. You might want to look at HTML::Parser or XML::XPath or one of the million other choices.

Your approach might otherwise work (some of the time) except that 1nd should be 1st?

m/\Q<!--\E\s*1st table\s*\Q-->\E(.*?)\Q<!--\E\s*\/1st table\s*\Q-->\E/ +g

-Paul