http://www.perlmonks.org?node_id=11110286


in reply to Re^2: printing unitialized value of the 'do BLOCK'
in thread printing unitialized value of the 'do BLOCK'

Fletch pointed out in the CB that using -x7 with B::Deparse gives the following confirmation:

perl -MO=Deparse,-x7 -e "if ($a) { &BLOCK }" $a and do { &BLOCK }; -e syntax OK
Where if (EXPR) {BLOCK} is equivalent to EXPR and do { BLOCK } which confirms haukex's interpretation. It's worth noting that if the two forms are equivalent, the latter is probably a lot less confusing when the output value is used.