in reply to perlsub prototype sub(_) sub foo(_)
From perlsub:
As the last character of a prototype, or just before a
semicolon, a @ or a % , you can use _ in place of $ : if this
argument is not provided, $_ will be used instead.
So I guess _ being the only character in the prototype, is also the last, and is equivalent to $ there.
Update: I see from the response of Athanasius above that my guess is slightly off. I didn't quite understand what the documentation is saying.
In Section
Seekers of Perl Wisdom