in reply to Perl syntax hilit and folding...

The new version of VIM (6.0) supports syntax folding. Nick Hibma has written a syntax highlighter for Perl that enables folding on packages and subroutines (but not on any inner blocks); it's at http://www.etla.net/~n_hibma/vim/. It can also do syntax highlighting of pod text at the same time as the Perl.

As far as xrefs, there are a couple of tags generators for Perl; the "exuberant ctags" that comes with VIM will attempt to do Perl subroutine tagging, but there are a couple of tags generators that will also do more. Michael Schaap <mscha@dogbert.demon.nl> has written one that comes with Vim, as I remember, and I have one here that uses the debugger.

For prettyprinting existing code, you're on your own. Vim does do a good job (with 6.0ag) of indenting Perl code as you type it. You could probably make a Vim macro that would re-type the Perl code and thereby use the indenting features.

Vim also supports running Perl internally (if it's compiled that way); this can add some functionality.

Oh yes, for highlighting for HTML, Vim will also output a colorful HTML version of your code like this:

use strict;
package AnySerialPort;
use vars '@ISA';

BEGIN {
    my %portMap;
    my $oldNew;
    my $onWindows = 0;

    if ($^O eq 'MSWin32')   # running on Win32
    {
        $onWindows = 1;
        eval "use Win32::SerialPort";

update: added bit about HTML highlighting.