in reply to Re^3: bignum and parenthesis
in thread bignum and parenthesis

... from my trial and error it seems [the parser is] trying to do modulo using the return value of print function ( = "1" ) ...

Perl can tell you with perfect clarity (update: and lots of parentheses) exactly how it sees the syntax it's trying to compile. See core modules O and B.

Win8 Strawberry 5.8.9.5 (32) Tue 07/04/2023 15:01:58 C:\@Work\Perl\monks >perl -wMstrict -MO=Deparse,-p -le "print (5+6) + (6*7) + (7**8);" print (...) interpreted as function at -e line 1. Useless use of addition (+) in void context at -e line 1. BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use strict 'refs'; ((print(11) + 42) + 5764801); -e syntax OK >perl -wMstrict -MO=Deparse,-p -le "print +(5+6) + (6*7) + (7**8); +" BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use strict 'refs'; print(5764854); -e syntax OK Win8 Strawberry 5.30.3.1 (64) Tue 07/04/2023 15:03:46 C:\@Work\Perl\monks >perl -wMstrict -MO=Deparse,-p -le "print (5+6) + (6*7) + (7**8);" print (...) interpreted as function at -e line 1. Useless use of addition (+) in void context at -e line 1. BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use strict; ((print(11) + 42) + 5764801); -e syntax OK >perl -wMstrict -MO=Deparse,-p -le "print +(5+6) + (6*7) + (7**8); +" BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use strict; print(5764854); -e syntax OK


Give a man a fish:  <%-{-{-{-<