JayBonci hit the nail on the head. I have used this approach a few times and the benefits were substantial. But, that's because I only used this approach in cases where the data was generally quite static.
You *could* regenerate the html whenever it is modified. If that fits your application, then go for it. But if you're going to update a dozen times every minute, it's probably not going to help.
Also remember that when you keep everything dynamic, it's that much easier to redesign all your output and make global changes to your data. With your flat file approach, you'd need to change your code or templates and then somehow 'republish' all your static files. That can be a pain.
If you're looking to speed up your dynamic Perl-driven stuff, take a closer look at mod_perl. Also, tweak your MySQL piece for optimization. Make sure you have appropriate keys in place to make for faster lookups on tables, etc.
Good luck!