diff options
author | Nicholas Clark <nick@ccl4.org> | 2004-12-03 20:38:37 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2004-12-03 20:38:37 +0000 |
commit | 7a1e2023d90d879c7a6110f7be3e3c6e22bddc33 (patch) | |
tree | dc26e3ba930c2df5b59c861cbc2aacb58de290a6 | |
parent | 3792a11b372a7ebb936a206658c45be7271a102f (diff) | |
download | perl-7a1e2023d90d879c7a6110f7be3e3c6e22bddc33.tar.gz |
Remove double checking of acceptable switches on tr/// ops.
p4raw-id: //depot/perl@23607
-rw-r--r-- | toke.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -6665,15 +6665,23 @@ S_scan_trans(pTHX_ char *start) } complement = del = squash = 0; - while (strchr("cds", *s)) { - if (*s == 'c') + while (1) { + switch (*s) { + case 'c': complement = OPpTRANS_COMPLEMENT; - else if (*s == 'd') + break; + case 'd': del = OPpTRANS_DELETE; - else if (*s == 's') + break; + case 's': squash = OPpTRANS_SQUASH; + break; + default: + goto no_more; + } s++; } + no_more: New(803, tbl, complement&&!del?258:256, short); o = newPVOP(OP_TRANS, 0, (char*)tbl); |