HTML::TableExtract is great if all you need is data in tables, but not so good when you also need data outside the tables. Then you're stuck with
HTML::Parser. Sometimes I wish HTML::TableExtract had a place to plugin an additional callback to populate from data outside the table.