in reply to Can / Do BEGIN blocks return their evaluated content?

You can't just stick a named BLOCK there in the middle of an expression and expect it to work. If you use B::Deparse you'll see it's being parsed as trying to call the method BEGIN on the return value of a block with just time in it.

sleep(4); print(('timespan: ' . (time - do { time }->BEGIN)));

The cake is a lie.
The cake is a lie.
The cake is a lie.