Yes, subroutine variables *are* like underwear. But parameter names *aren't* like underwear. Because they're not (primarily) subroutine variables.
So they're like the labels on the knobs, dials, and buttons of your favourite elctronic device. They're part of the *interface*, not (primarily) part of the implementation. They should be chosen with care, and not changed on a whim. I do, however, understand the desire to allow them to change, or to be somewhat "fuzzy" (i.e. "filename" vs "file_name" vs "file"). And I agree that it could be a very useful facility. But your proposed syntax is...err...less than ideal. If we were to have this, I'd far rather we use the existing mechanism for annotating variables. Namely: properties. For example: sub load_data ($filename_tainted is named('filename'), $version_input is named('version','ver') //= 1) {...} Damian