|Don't ask to ask, just ask|
I'm sure you know this already, but just in case
> Be able to restrict the perltidy-run to the current function,
M-x mark-defun aka C-M-h selects the current function.
> or the current region (i.e. avoid cosmetic changes in untouched places of the file which mess up VC history)
That's what M-x shell-command-on-region does, if you don't mark-whole-buffer
IOW the right combination of these three commands do the job.
In reply to Re^6: How has your coding style changed over the years?