or download this
do BLOCK
Not really a function. Returns the value of the last c
+ommand in the sequence of commands indicated by BLOCK. When modified
+ by the "while" or "until" loop modifier, executes the BLOCK
once before testing the loop condition. (On other state
+ments the loop modifiers test the conditional first.)
"do BLOCK" does not count as a loop, so the loop contro
+l statements "next", "last", or "redo" cannot be used to leave or res
+tart the block. See [doc://perlsyn] for alternative strategies.