in reply to Non-prefix form of sub

Why do you want to put a prototype in at all?

I strongly recommend reading this rant on them and reconsidering trying to coerce parameters at all. I almost always declare my own routines like this:

sub somename { # Code here pulling data out of @_ }
and if I want to treat the arguments as a scalar and/or as a list, just manipulate the subroutine that way. (For instance shift off of object from a method and then drop the remaining arguments into a hash.)

In fact other than when I have to modify code someone else wrote, or in playing around for educational purposes, I do not believe that I have ever used a prototype in Perl.