Nathan Torkington wrote: > Here's the sample code: > > %a = (one => 1); # no warning > %a = (one > => 1); # warning about "bareword interpreted..." > > This should be fixed in the tokenizer and not the documentation. > Any takers? This works for small values of tested. I leave possible side effect prevention to someone who knows what they're doing. Rick *** perl-5.5.670/toke.c.old Sat Feb 26 00:24:50 2000 --- perl-5.5.670/toke.c Wed Mar 22 12:07:18 2000 *************** *** 3767,3776 **** } } - /* If followed by a paren, it's certainly a subroutine. */ PL_expect = XOPERATOR; s = skipspace(s); if (*s == '(') { CLINE; if (gv && GvCVu(gv)) { --- 3767,3785 ---- } } PL_expect = XOPERATOR; s = skipspace(s); + + /* Is this a word before a => operator? */ + if (strnEQ(s,"=>",2)) { + CLINE; + yylval.opval = (OP*)newSVOP(OP_CONST, 0, newSVpv(PL_tokenbuf,0)); + yylval.opval->op_private = OPpCONST_BARE; + TERM(WORD); + } + + /* If followed by a paren, it's certainly a subroutine. */ if (*s == '(') { CLINE; if (gv && GvCVu(gv)) {