in reply to Predefining sub Parameters
The problem with this example is that perl flattens the @ and second $ parameter into one list, so your function wouldn't know where the second parameter (the @) ends.sub functionname($@$) { ... }
There are some techniques in the cookbook and other literature that you might want to investigate, such as mimicking behaviour of built-ins with function prototypes. Some of these techniques can be used to alleviate the problem I've identified above.
You may also think about having your function accept only a hash (actually, a list of arguments your function will treat as a hash), and requiring callers to use named parameters:
Did I mention There's More Than One Way To Do It? ;)sub functionname { my %hash = @_; # Validate keys of hash here } functionname(param1 => 1, param2 => 2, ...);
|
|---|