summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pp.c4
-rw-r--r--t/op/cproto.t6
2 files changed, 7 insertions, 3 deletions
diff --git a/pp.c b/pp.c
index 078db3bfd1..6f563681ce 100644
--- a/pp.c
+++ b/pp.c
@@ -422,6 +422,10 @@ PP(pp_prototype)
ret = newSVpvs_flags("_;$", SVs_TEMP);
goto set;
}
+ if (code == -KEY_keys || code == -KEY_values || code == -KEY_each) {
+ ret = newSVpvs_flags("\\[@%]", SVs_TEMP);
+ goto set;
+ }
if (code == -KEY_readpipe) {
s = "CORE::backtick";
}
diff --git a/t/op/cproto.t b/t/op/cproto.t
index cc2426a5f1..af1555f493 100644
--- a/t/op/cproto.t
+++ b/t/op/cproto.t
@@ -57,7 +57,7 @@ delete undef
die (@)
do undef
dump ()
-each (\%)
+each (\[@%])
else undef
elsif undef
endgrent ()
@@ -120,7 +120,7 @@ index ($$;$)
int (_)
ioctl (*$$)
join ($@)
-keys (\%)
+keys (\[@%])
kill (@)
last undef
lc (_)
@@ -252,7 +252,7 @@ untie undef
until undef
use undef
utime (@)
-values (\%)
+values (\[@%])
vec ($$$)
wait ()
waitpid ($$)