in reply to function w complex args

I do believe named arguments could be considered a best practice. (I wish "they" used it more in those awful PL/SQL code that hurts my eyes and soul, but many don't even know Oracle supports it. But I am digressing.)

As fmerge said, Damian Conway included it in his book. They read as:

Use a hash of named arguments for any subroutine that has more than three parameters.

And you can read more about the rationale of using named parameters and living better at a perl.com article by dragonchild.