If I may offer a humble observation -- your post here is based on code where you update parameters, but (in your words) you find yourself "too lazy" to update the comments in the subroutine.
in reply to The difficulties of commenting code
First off -- I think you and several others are correct that nothing beats nice, descriptive variable names.. I particularly like the idea of using hashes when there are several parameters involved.
However, I also feel that commenting your API is quite important, and you can't always get every necessary detail about a parameter into it's own name.. and if you can, I think you're names will be quite long :-) I believe the Perl term for what you are doing is called "false laziness". The objective is to be lazy overall, where you have to do the least amount of work. When you are maintaining your code, as soon as you find yourself needing to dig up info on a parameter, where a comment could have saved you, I think you may be missing out on the benefits of the Perl virtues. Furthermore, while you may understand it -- you coworkers may not.. job security is nice, but just remember that one day, you'll be the one needing to learn somebody elses code :-)