goto only searches the immediate call stack for labels, ie where perl code has called a function. Functions that are called indirectly, like signal handlers, tie handlers, sort functions etc don't get searched. I don't know whether this is documented.