summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-08-17 22:25:39 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-08-18 06:50:57 -0700
commitd47dcd9c7681849ea996f4a5039342a169f1969a (patch)
treeca1e9c3026f5fb6ffc67d9abe801cd3d11c4d91d
parent93f0bc4935f6ab558dbbd7c94b5d4a9bdd07eb9e (diff)
downloadperl-d47dcd9c7681849ea996f4a5039342a169f1969a.tar.gz
Document &CORE::nullary() calls
-rw-r--r--lib/CORE.pod8
-rw-r--r--pod/perldelta.pod8
2 files changed, 10 insertions, 6 deletions
diff --git a/lib/CORE.pod b/lib/CORE.pod
index 10fa424702..d83763cb1f 100644
--- a/lib/CORE.pod
+++ b/lib/CORE.pod
@@ -32,10 +32,12 @@ CORE package, but is part of Perl's syntax.
For many Perl functions, the CORE package contains real subroutines. This
feature is new in Perl 5.16. You can take references to these and make
-aliases. However, they can only be called as barewords; i.e., you cannot
+aliases. However, most can only be called as barewords; i.e., you cannot
use ampersand syntax (C<&foo>) or call them through references. See the
-C<shove> example above. This works for all overridable keywords, except
-for C<dump> and the infix operators.
+C<shove> example above. These subroutines exist for all overridable
+keywords, except for C<dump> and the infix operators. Calling with
+ampersand syntax and through references currently works only for functions
+that take no arguments, like C<fork>.
=head1 OVERRIDING CORE FUNCTIONS
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 0c9488a9aa..6af6eda945 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -38,16 +38,18 @@ here, but most should go in the L</Performance Enhancements> section.
=head2 Subroutines in the CORE namespace
Many Perl keywords are now available as subroutines in the CORE namespace.
-These cannot be called through references or via C<&foo> syntax yet, but
+Most of these cannot be called through
+references or via C<&foo> syntax yet, but
must be called as barewords. In other words, you can now do this:
BEGIN { *entangle = \&CORE::tie }
entangle $variable, $package, @args;
This currently works for overridable keywords other than C<dump> and the
-infix operators.
+infix operators. Calling through references only works for functions that
+take no arguments (like C<wantarray>).
-Work is under way to allow these subroutines to be called through
+Work is under way to allow more of these subroutines to be called through
references.
=head2 C<__FILE__()> Syntax