Indenting — I have these directly in my ~/.vimrc, applying to all filetypes:
filetype indent on " per-filetype config
set tabstop=8
set expandtab
set smarttab
set shiftwidth=4 " or 2 or whatever
set shiftround
set autoindent
Note that smarttab means that BkSpc at the beginning of the line will outdent by one level (not just delete a single space character), so that Tab and BkSpc together 'feel' like they're operating on tab characters, even though only spaces appear in your file. I leave tabstop set at 8, since that makes it more obvious when other people give you files with nasty tab characters in them!.
Mappings — keystrokes to execute common commands. Save and check syntax with _c:
nnoremap <buffer> <silent> _c :w<Enter>:!perl -wc %<Enter>
Look up docs function under cusor with _f:
nnoremap <buffer> <silent> _f :perldoc -f <cword><Enter>
Look up docs for module under cusor with _m:
nnoremap <buffer> <silent> _m :perldoc <cword><Enter>
Tidy selected lines (or entire file) with _t:
nnoremap <buffer> <silent> _t :%!perltidy -q<Enter>
vnoremap <buffer> <silent> _t :!perltidy -q<Enter>
If you're using Vim's own gui (not running it in a terminal window) then running perldoc may try to invoke a pager that can't cope with the limited facilities available. I have these in my ~/.gvimrc to use Less and make it behave itself:
let $PAGER = 'less'
let $LESS = 'dQFe'