http://qs321.pair.com?node_id=469097

willyyam has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to figure out if what I am trying to do is possible, obvious (to people != /me) or just "not the Perl way". Here's the way the I wanted to define a sub:

sub functionname($string_param, @array_param, $other_string_param) { # do something with parameters, return values }
I got this structure from doing things in JavaScript or Python, but it makes sense to me - more sense than calling on anonymous bits of @_. I've looked at prototypes, but those don't (a) make sense to me and (b) don't seem to be quite what I am looking for.

I want to do this because I want to have warnings thrown up when a sub is called with the wrong kind of input, and I want sensible parameter names in my sub blocks. This may be at odds with the "arbitrarily large flattened list" parameter structure that they talk about in the Camel book.