##
(print(1,2))[0];
####
print((1,2))[0];
####
$ perl -we'print (1,2)[0];' 2>&1 |splain
print (...) interpreted as function at -e line 1 (#1)
(W syntax) You've run afoul of the rule that says that any list operator
followed by parentheses turns into a function, with all the list
operators arguments found inside the parentheses. See
perlop/Terms and List Operators (Leftward).
...