summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorAbhijit Menon-Sen <ams@wiw.org>2001-08-11 22:01:04 +0530
committerJarkko Hietaniemi <jhi@iki.fi>2001-08-11 14:59:22 +0000
commit89de29047dd63c42d0e0d6b1cab1eea82aeda08d (patch)
tree6fadb2af5881005d808450695aad4f09aa48b7a2 /op.c
parentf5c74a6e5cae38214d2b9e368855186826a6348f (diff)
downloadperl-89de29047dd63c42d0e0d6b1cab1eea82aeda08d.tar.gz
turn $a.=<F> into an RCATLINE
Message-ID: <20010811163104.Q526@lustre.dyn.wiw.org> p4raw-id: //depot/perl@11634
Diffstat (limited to 'op.c')
-rw-r--r--op.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/op.c b/op.c
index 52fd74d59d..b9b7869240 100644
--- a/op.c
+++ b/op.c
@@ -6882,6 +6882,15 @@ Perl_peep(pTHX_ register OP *o)
SvPV_nolen(sv));
}
}
+ else if (o->op_next->op_type == OP_READLINE
+ && o->op_next->op_next->op_type == OP_CONCAT
+ && (o->op_next->op_next->op_flags & OPf_STACKED))
+ {
+ /* Turn "$a .= <FH>" into an OP_RCATLINE. AMS 20010811 */
+ o->op_next->op_type = OP_RCATLINE;
+ o->op_next->op_flags |= OPf_STACKED;
+ op_null(o->op_next->op_next);
+ }
o->op_seq = PL_op_seqmax++;
break;