t/op/rand.t See if rand works
t/op/range.t See if .. works
t/op/read.t See if read() works
-t/op/readline.t See if <> / readline work
+t/op/readline.t See if <> / readline / rcatline work
t/op/readdir.t See if readdir() works
t/op/recurse.t See if deep recursion works
t/op/ref.t See if refs and objects work
}
if (gimme == G_SCALAR) {
/* undef TARG, and push that undefined value */
- SV_CHECK_THINKFIRST_COW_DROP(TARG);
- (void)SvOK_off(TARG);
+ if (type != OP_RCATLINE) {
+ SV_CHECK_THINKFIRST_COW_DROP(TARG);
+ SvOK_off(TARG);
+ }
PUSHTARG;
}
RETURN;
}
}
if (gimme == G_SCALAR) {
- SV_CHECK_THINKFIRST_COW_DROP(TARG);
- (void)SvOK_off(TARG);
+ if (type != OP_RCATLINE) {
+ SV_CHECK_THINKFIRST_COW_DROP(TARG);
+ SvOK_off(TARG);
+ }
SPAGAIN;
PUSHTARG;
}
require './test.pl';
}
-plan tests => 1;
+plan tests => 3;
eval { for (\2) { $_ = <FH> } };
like($@, 'Modification of a read-only value attempted', '[perl #19566]');
+{
+ open A,"+>a"; $a = 3;
+ is($a .= <A>, 3, '#21628 - $a .= <A> , A eof');
+ close A; $a = 4;
+ is($a .= <A>, 4, '#21628 - $a .= <A> , A closed');
+ unlink "a";
+}