in reply to Re^3: "last expression" quiz
in thread "last expression" quiz

Okay, I figured it was some peephole optimization thing. This is not what I would have predicted for deparse output, but it kind of makes sense.
$ perl -MO=Deparse -e 'sub foo { 1 for 1 } foo' sub foo { foreach $_ (1) { '???'; } } foo ; -e syntax OK
The '???' appears for other constants, with which it would generate "useless use of constant in void context" warnings. This warning is suppressed for a few common constants. So I guess the opcode optimizer just forgets WHAT constant was there.

--
[ e d @ h a l l e y . c c ]