This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
&CORE::foo() for (sys)read and recv
authorFather Chrysostomos <sprout@cpan.org>
Sat, 27 Aug 2011 05:28:52 +0000 (22:28 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Sat, 27 Aug 2011 05:28:52 +0000 (22:28 -0700)
commit17008668bc1759e4a1ff55f42c3d738e5534b5dc
treeaf43fc270c8f831d82cf727d09f859085d3b61fa
parentcb85b2dba9dd71becf505fd4190513a7648f1ff8
&CORE::foo() for (sys)read and recv

These are grouped together because they all have \$ in their
prototypes.

This commit allows the subs in the CORE package under those names to
be called through references and via &ampersand syntax.

The coreargs op in the subroutine is marked with the OPpSCALARMOD
flag.  (scalar_mod_type in op.c returns true for these three ops,
indicating that the OA_SCALARREF parameter is \$, not \[$@%(&)*].)

pp_coreargs uses that flag to decide what arguments to reject.
gv.c
op.c
pp.c
t/op/coreamp.t