# -- next MAIN_LOOP jumps here unless there's a continue block too MAIN_LOOP: while (<>) { # -- redo MAIN_LOOP or goto MAIN_LOOP jumps here .... a() .... } sub a { .... myerror (); .... } sub myerror { redo MAIN_LOOP; }