p4raw-id: //depot/perl@22499
o->op_next : o->op_next->op_next;
IV i;
if (pop && pop->op_type == OP_CONST &&
- (PL_op = pop->op_next) &&
+ ((PL_op = pop->op_next)) &&
pop->op_next->op_type == OP_AELEM &&
!(pop->op_next->op_private &
(OPpLVAL_INTRO|OPpLVAL_DEFER|OPpDEREF|OPpMAYBE_LVSUB)) &&
i >= 0)
{
GV *gv;
+ if (cSVOPx(pop)->op_private & OPpCONST_STRICT)
+ no_bareword_allowed(pop);
if (o->op_type == OP_GV)
op_null(o->op_next);
op_null(pop->op_next);
EXPECT
Bareword "foo" not allowed while "strict subs" in use at (re_eval 1) line 1.
Compilation failed in regexp at - line 3.
+########
+# [perl #27628] strict 'subs' didn't warn on bareword array index
+use strict 'subs';
+my $x=$a[FOO];
+EXPECT
+Bareword "FOO" not allowed while "strict subs" in use at - line 3.
+Execution of - aborted due to compilation errors.
+########
+use strict 'subs';
+my @a;my $x=$a[FOO];
+EXPECT
+Bareword "FOO" not allowed while "strict subs" in use at - line 2.
+Execution of - aborted due to compilation errors.