I think the fact that you had to explain the special form in your errata to the original message is a good enough reason. The normal concept of a goto statement should be understood, save for syntax, by any programmer. However, the form of goto that you are using here isn't consistent with that, and would require a good reading of the docs to understand the implications of using it. Functionally, it does exactly what you want, but realistically, will other programmers that might look at this code understand it?
That said, this might be a cool use for it, but as you also point out, I think the non-goto form is easier to see and understand. In addition, if you are talking dispatch tables and logic otherwise, I would try to improve the logic of the dispatch tables and thus avoid trying to make that second dispatch function call inside the first dispatch call.
Dr. Michael K. Neylon - email@example.com
"You've left the lens cap of your mind on again, Pinky" - The Brain
"I can see my house from here!"
It's not what you know, but knowing how to find it if you don't know that's important
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||