summaryrefslogtreecommitdiff
path: root/lib
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 /lib
parent96db40ac3837bf348704634acdc080cf8e329c00 (diff)
downloadperl-2702a50a4fe7e949a03efb4a990ac5b8e00ddaa5.tar.gz
Update docs about &CORE::subs()
Diffstat (limited to 'lib')
-rw-r--r--lib/CORE.pod11
1 files changed, 8 insertions, 3 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