summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-08-29 20:16:30 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-08-29 20:18:37 -0700
commit2702a50a4fe7e949a03efb4a990ac5b8e00ddaa5 (patch)
treef635b07acf1609564b2aab2d3d9cad5b204423ed
parent96db40ac3837bf348704634acdc080cf8e329c00 (diff)
downloadperl-2702a50a4fe7e949a03efb4a990ac5b8e00ddaa5.tar.gz
Update docs about &CORE::subs()
-rw-r--r--lib/CORE.pod11
-rw-r--r--pod/perldelta.pod8
2 files changed, 11 insertions, 8 deletions
diff --git a/lib/CORE.pod b/lib/CORE.pod
index d83763cb1f..ec6a8047a4 100644
--- a/lib/CORE.pod
+++ b/lib/CORE.pod
@@ -32,12 +32,17 @@ 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, most can only be called as barewords; i.e., you cannot
+aliases. However, some 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. 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>.
+ampersand syntax and through references does not work for the following
+functions, as they have special syntax that cannot always be translated
+into a simple list (e.g., C<eof> vs C<eof()>):
+
+C<chdir>, C<chomp>, C<chop>, C<each>, C<eof>, C<exec>, C<keys>, C<lstat>,
+C<pop>, C<push>, C<shift>, C<splice>, C<stat>, C<system>, C<truncate>,
+C<unlink>, C<unshift>, C<values>
=head1 OVERRIDING CORE FUNCTIONS
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 40d6e81189..fb80764aeb 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -37,11 +37,9 @@ Perl 5.15., introduced subroutines in the CORE namespace. Most of them
could only be called as barewords; i.e., they could be aliased at compile
time and then inlined under new names.
-Many more of these functions can now be called through references and via
-C<&foo()> syntax, bypassing the prototype.
-
-XXX This is too vague, but the exact list of them will likely change before
-5.15.3. It's currently functions whose prototypes match /^[\$_]+;?\z/.
+Almost all of these functions can now be called through references and via
+C<&foo()> syntax, bypassing the prototype. See L<CORE> for a list of the
+exceptions.
=head1 Security