Perl5 リファレンス



       continue BLOCK
               Actually a flow control statement rather than a
               function.  If there is a `continue' BLOCK attached
               to a BLOCK (typically in a `while' or `foreach'),
               it is always executed just before the conditional
               is about to be evaluated again, just like the
               third part of a `for' loop in C.  Thus it can be
               used to increment a loop variable, even when the
               loop has been continued via the `next' statement
               (which is similar to the C `continue' statement).

               `last', `next', or `redo' may appear within a
               `continue' block.  `last' and `redo' will behave
               as if they had been executed within the main
               block.  So will `next', but since it will execute
               a `continue' block, it may be more entertaining.

                   while (EXPR) {
                       ### redo always comes here
                       do_something;
                   } continue {
                       ### next always comes here
                       do_something_else;
                       # then back the top to re-check EXPR
                   }
                   ### last always comes here

               Omitting the `continue' section is semantically
               equivalent to using an empty one, logically
               enough.  In that case, `next' goes directly back
               to check the condition at the top of the loop.



Perl5リファレンスに戻る