in reply to Optional parameter before reference
I'd recommend against using prototypes except where neccessary in Perl. They are not equivalent to C/C++ formal parameters.
But if you must, you can do it this way:
sub verify ( $;\$) { print "Got:'$_'" for @_; } $s = 'fred'; verify 'this'; Got:'this' verify 'this', $s;; Got:'this' Got:'SCALAR(0x195d844)' verify 'this', 'that';; Type of arg 2 to main::verify must be scalar (not constant item) at (e +val 7) line 1, at EOF
Note the ';' between the prototype args which make everything after it optional.
Note also the error generated by the last test above. This is just one of several limitations of Perl prototypes.
|
|---|