The gotolabel form
finds the statement labeled with label and
resumes execution there. It may not be used to go inside any
construct that requires initialization, such as a subroutine or a
foreach loop.
The gotoexpr form
expects the expression to return a label name.
The goto &name form
substitutes a call to the named subroutine for the currently running
subroutine.