in reply to Re: Re: {} vs do{}
in thread {} vs do{}

the print BLOCK LIST form is, I suspect, analagous to something like map BLOCK list, where the BLOCK is converted into an anonymous sub which returns the value of the last expression in the block. These are syntactically different from naked BLOCKs. You can also get this behaviour with subroutine prototypes:
sub MySub (&\@) { ... } MySub { # do something, return a value } @list;
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print