It sounds like an interesting exercise, but one that wouldn't be particularly nasty: there are already syntax-coloring filters for perl out there (consider that both vim and cooledit have them, and cooledit has the peculiar misfortune of being written in python). It shouldn't require much more than turning the ANSI escape sequences in the syntax-highlighting routines in vim into the corresponding <SPAN> tags in HTML. Getting <SPAN> recognized inside of <CODE> is another matter altogether -- <CODE> is designed to indicate to the browser that as much as possible within the block is to be treated literally.
Spud Zeppelin * spud@spudzeppelin.com