diff --git a/pod/perlsub.pod b/pod/perlsub.pod index b9d527344f75..595c0b3953d1 100644 --- a/pod/perlsub.pod +++ b/pod/perlsub.pod @@ -1523,10 +1523,21 @@ corresponding built-in. sub mytime () mytime Any backslashed prototype character represents an actual argument -that must start with that character (optionally preceded by C, -C or C), with the exception of C<$>, which will -accept any scalar lvalue expression, such as C<$foo = 7> or -C<< my_function()->[0] >>. The value passed as part of C<@_> will be a +really using that character for type, with the exception of C<$>, which will +accept any scalar lvalue expression, such as C<$foo = 7> or C<< +my_function()->[0] >>. "Using that character for type" means that the +expression I with the sigil (optionally preceded by a declarator like +C) or I with the sigil's postfix dereference form. Any of these, for +example, satisfies C<\%>: + + %hash + %$hashref + my %hash + $hashref->%* + %{ expr } + (expr)->*% + +The value passed as part of C<@_> will be a reference to the actual argument given in the subroutine call, obtained by applying C<\> to that argument.