This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
s/bellow/below/ in PerlIO::via docs
[perl5.git] / pp.c
diff --git a/pp.c b/pp.c
index 98d6482..b6dabb5 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -435,38 +435,38 @@ PP(pp_prototype)
                I32 oa;
                char str[ MAX_ARGS_OP * 2 + 2 ]; /* One ';', one '\0' */
 
-               if (code == -KEY_chop || code == -KEY_chomp
-                       || code == -KEY_exec || code == -KEY_system)
+               switch (-code) {
+               case KEY_and   : case KEY_chop: case KEY_chomp:
+               case KEY_cmp   : case KEY_exec: case KEY_eq   :
+               case KEY_ge    : case KEY_gt  : case KEY_le   :
+               case KEY_lt    : case KEY_ne  : case KEY_or   :
+               case KEY_system: case KEY_x   : case KEY_xor  :
                    goto set;
-               if (code == -KEY_mkdir) {
+               case KEY_mkdir:
                    ret = newSVpvs_flags("_;$", SVs_TEMP);
                    goto set;
-               }
-               if (code == -KEY_keys || code == -KEY_values || code == -KEY_each) {
+               case KEY_keys: case KEY_values: case KEY_each:
                    ret = newSVpvs_flags("+", SVs_TEMP);
                    goto set;
-               }
-               if (code == -KEY_push || code == -KEY_unshift) {
+               case KEY_push: case KEY_unshift:
                    ret = newSVpvs_flags("+@", SVs_TEMP);
                    goto set;
-               }
-               if (code == -KEY_pop || code == -KEY_shift) {
+               case KEY_pop: case KEY_shift:
                    ret = newSVpvs_flags(";+", SVs_TEMP);
                    goto set;
-               }
-               if (code == -KEY_splice) {
+               case KEY_splice:
                    ret = newSVpvs_flags("+;$$@", SVs_TEMP);
                    goto set;
-               }
-               if (code == -KEY_tied || code == -KEY_untie) {
+               case KEY_lock: case KEY_tied: case KEY_untie:
                    ret = newSVpvs_flags("\\[$@%*]", SVs_TEMP);
                    goto set;
-               }
-               if (code == -KEY_tie) {
+               case KEY_tie:
                    ret = newSVpvs_flags("\\[$@%*]$@", SVs_TEMP);
                    goto set;
-               }
-               if (code == -KEY_readpipe) {
+               case KEY___FILE__: case KEY___LINE__: case KEY___PACKAGE__:
+                   ret = newSVpvs_flags("", SVs_TEMP);
+                   goto set;
+               case KEY_readpipe:
                    s = "CORE::backtick";
                }
                while (i < MAXO) {      /* The slow way. */