I agree with all of the suggestions above (last few pages), yet I do have one reservation / concern.. Processor usage.
The advantage of systems that use PHP is that they're both static and dynamic and much more efficient, Perl/CGI simply isn't. In other words you wouldn't really want the output to be as dynamic as say the forums themselves – too much CPU usage on larger sites.
As an example, most separate news systems (NewsPro etc.) store the data in static files, updating whenever a new item is changed. Yet the files that are actually called are either .txt or SHTML (via SSI), thus massively saving on CPU time by not having to run a CGI each time the page loads.
Running CGIs may seem like small peas to some of you, but even a small script can cause some serious load on a site getting 6,000+/- visitors per day (main page). You need to be clever and look for ways to have the data update at set periods (excluding news, which updates when you add a post) rather than all load when the page is loaded. This could turn 6,000 daily instances into say 24 (update per hour) or 48 (guess = 30mins =]) and yet still appear just as dynamic to the end user and ultimately save resources.
I like the UBB Latest Threads hack for this same reason, you can output to an HTML rather than call the CGI directly. The HTML can be made to update when somebody adds a new post only and thus not have to load dynamically each time a visitor loads the front page (not forum page - the main external HTML page).
Anyway that’s just my idea.. crazy eh =).