my $i=0; target(); sub target { rec(); TARGET: print "END"; } sub rec { $i++; print "IN $i\n"; goto TARGET if ($i>5); # return skipping multiple levels rec(); # 6 levels recursive call print "OUT $i\n"; # never reached }