Cabrion,
Perhaps you aren't familiar with what tail recursion is. You must use this specific form of goto for tail recursion which is the intent of the post. Unfortunately, it is leaking in a very specific case. I don't know why but you may want to check out Pure Perl tail call optimization as your post isn't really helpful.