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.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algoritm, algorithm on the code side." - tachyon