First of all, you need to add an 's' to the end of the regular expression to get the dot to match newlines. Second, you really want to use something like
HTML::Parser. HTML can vary widely in formatting and needs to be parsed. Regular expressions are best at matching text, not parsing it.