This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Explain \ in prototypes, and fix var name in example
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>
Mon, 18 Mar 1996 01:28:00 +0000 (01:28 +0000)
committerCharles Bailey <bailey@genetics.upenn.edu>
Mon, 18 Mar 1996 01:28:00 +0000 (01:28 +0000)
pod/perlsub.pod

index 80d02d1..b308298 100644 (file)
@@ -608,7 +608,10 @@ that parse almost exactly like the corresponding builtins.
     sub mytime ()              mytime
 
 Any backslashed prototype character represents an actual argument
     sub mytime ()              mytime
 
 Any backslashed prototype character represents an actual argument
-that absolutely must start with that character.
+that absolutely must start with that character.  The value passed
+to the subroutine (as part of C<@_>) will be a reference to the
+actual argument given in the subroutine call, obtained by applying
+C<\> to that argument.
 
 Unbackslashed prototype characters have special meanings.  Any
 unbackslashed @ or % eats all the rest of the arguments, and forces
 
 Unbackslashed prototype characters have special meanings.  Any
 unbackslashed @ or % eats all the rest of the arguments, and forces
@@ -662,7 +665,7 @@ And here's a reimplementation of grep:
        my $code = shift;
        my @result;
        foreach $_ (@_) {
        my $code = shift;
        my @result;
        foreach $_ (@_) {
-           push(@result, $_) if &$ref;
+           push(@result, $_) if &$code;
        }
        @result;
     }
        }
        @result;
     }