summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2011-08-25 18:06:23 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-08-25 23:02:09 -0700
commit19c481f4fff148c75b12b0f9ef8dadc7116b1001 (patch)
tree0c081b0056c58f0e0c8e1ffccff320314dc03e6a /pod
parent30901a8a3fcf590cb60375fd3b39c6b0d0bf6e00 (diff)
downloadperl-19c481f4fff148c75b12b0f9ef8dadc7116b1001.tar.gz
&CORE::foo() for dbmopen and dbmclose
This commit allows the subs in the CORE package for close, getc and readline to be called through references and via ampersand syntax. A special case for each of them is added to pp_coreargs to deal with calls with no arguments. Pushing a null on to the stack (which I’m doing for other ops) won’t work, as a null already means something for these cases: close($f) won’t vivify a typeglob if $f is a string, so the implicit rv2gv pushes a null on to the stack.
Diffstat (limited to 'pod')
-rw-r--r--pod/perldiag.pod7
1 files changed, 7 insertions, 0 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 88a63ecefb..45322c2541 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -4662,6 +4662,13 @@ disallowed. See L<Safe>.
(F) Your machine doesn't implement a file truncation mechanism that
Configure knows about.
+=item Type of arg %d to &CORE::%s must be %s
+
+(F) The subroutine in question in the CORE package requires its argument
+to be a hard reference to data of the specified type. Overloading is
+ignored, so a reference to an object that is not the specified type, but
+nonetheless has overloading to handle it, will still not be accepted.
+
=item Type of arg %d to %s must be %s (not %s)
(F) This function requires the argument in that position to be of a