Commit
077da62ff9 was not supposed to change behaviour, but only
remove logic rendered unnecessary two commits earlier in
1c2b3fd6f10.
But the special stricture exception for negation was in the same func-
tion (S_op_integerize) which applied it to OP_NEGATE, but now needed
to apply it to OP_I_NEGATE, too.
if ((PL_opargs[type] & OA_OTHERINT) && (PL_hints & HINT_INTEGER))
{
dVAR;
- o->op_ppaddr = PL_ppaddr[type = ++(o->op_type)];
+ o->op_ppaddr = PL_ppaddr[++(o->op_type)];
}
if (type == OP_NEGATE)
require './test.pl';
}
-plan tests => 45;
+plan tests => 46;
# Some of these will cause warnings if left on. Here we're checking the
# functionality, not the warnings.
is(-$au, -$a, 'utf8 flag makes no difference for string negation');
is -"\x{100}", 0, '-(non-ASCII) is equivalent to -(punct)';
}
+
+# [perl #120288] use integer should not stop barewords from being quoted
+{
+ use strict;
+ use integer;
+ is eval "return -a"||$@, "-a", '-bareword under strict+integer';
+}