in reply to What's your favorite method of passing parameters into a sub?
as opposed tomy @people = People->search( position=>'manager', last_name=>'Smith' ) +;
my @people = People->search('position', 'manager', 'last_name', 'Smith +'); # or my @people = People->search({ position=>'manager', last_name=>'Smith' +});
I like the first way for a few reasons: first, when using a hash as opposed to an array, the relationship between the pairs of parameters is very clear. Clearly position and 'manager' are related items in this method call. This is less clear in the array version. Also, I like being able to have barewords with the hash version -- less quotes I have to type. And no curly braces like in the hashref 3rd version.
This method makes more logical sense to me, and is easiest to type. However, I would probably use a hashref if the named parameters were combined with unnamed parameters, such as:
$x->text('hello world', { font=>'arial', size=>'12px' });
... just so I could visually separate the "important" data from the less-important formatting arguments.
All in all, it's probably more important to stive for consistency than which specific style you choose. Having said that, most of the methods I encounter are not good candidates for named parameters, as in the above substr() example by sauoq
|
|---|