$ perl -le " sub foo (&) {shift->()}; print 1, do{foo {rand}} // 7 " 10.762115478515625 $ perl -le " sub foo (&) {shift->()}; print 1, do{foo {}} // 7 " 17