summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-10-31 13:34:30 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-10-31 13:34:30 +0000
commite3f73d4edc1b72464d0a94ac202f6e1bd3daf149 (patch)
tree5947c9158793dbe9f01db803f5805d72f94c9194 /pp.c
parent37d6a98efde87369fe8fb6be5f8afc79f775460c (diff)
downloadperl-e3f73d4edc1b72464d0a94ac202f6e1bd3daf149.tar.gz
Make readpipe() overridable (and also `` and qx//)
p4raw-id: //depot/perl@29168
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pp.c b/pp.c
index beee803b66..229f703417 100644
--- a/pp.c
+++ b/pp.c
@@ -387,7 +387,7 @@ PP(pp_prototype)
SV *ret = &PL_sv_undef;
if (SvPOK(TOPs) && SvCUR(TOPs) >= 7) {
- const char * const s = SvPVX_const(TOPs);
+ const char * s = SvPVX_const(TOPs);
if (strnEQ(s, "CORE::", 6)) {
const int code = keyword(s + 6, SvCUR(TOPs) - 6, 1);
if (code < 0) { /* Overridable. */
@@ -403,6 +403,9 @@ PP(pp_prototype)
ret = sv_2mortal(newSVpvs("_;$"));
goto set;
}
+ if (code == -KEY_readpipe) {
+ s = "CORE::backtick";
+ }
while (i < MAXO) { /* The slow way. */
if (strEQ(s + 6, PL_op_name[i])
|| strEQ(s + 6, PL_op_desc[i]))