Chalk up another vote for HTML::Template.
Works equally well with CGI and mod_perl,
since it's only involved in the content delivery phase.
It doesn't give you all the bells and whistles of
the other frameworks; then again, it's a single
perl module that you can install yourself on any
server that lets you run perl CGI scripts.
There are may ways to handle your own access/authorization
control and logging in a CGI environment, and with a
little thought and planning you should be able to come
up with something that you can convert easily to mod_perl
when the time comes.
I'm using HTML::Template right now, and
I recently found out for real just how nice it is to
separate the design from the code when a
designer gave the application I'm working on a
facelift.
I didn't have to change a single line of my code.
She didn't have to learn anything about perl.
I didn't have to stop working on my stuff
while she made changes.
In fact, I didn't even know she was doing it until
she plopped the new templates in place and
the pages appeared with the new design!