It was thus said that the Great Peter Corlett once stated: > On Mon, May 14, 2012 at 11:20:37AM -0400, Sean Conner wrote: > [...] > > Are you kidding? It can get much worse than that. I came across a language > > [1] that allows for patterm matched random GOSUBs (and that's the general > > case---it can do GOSUBs like other langauges, but it can also do random > > GOSUBS, calculated GOSUBs, and pattern matched GOSUBs with randomness > > thrown in for free). > > qw/ foo bar baz /)[rand 3]->('The goggles, they do nothing!');
Jest all you want, but really, it's a nasty language. Let's see ... sections are numbered, but each line has a label. The labels can repeat, but when you call a subroutine based on a label, it picks a random line with that label (and no, lines with the same label don't have to be together---they can be interleaved with other labeled lines). To compound things, each line is a subroutine, except of course, if you include a goto ('#') which will goto the next line, unless it's followed by a label ('#aaaaah'), in which case, it'll go to a randomly selected line with that label (unless you include wildcard charaters in the label, then it'll go to a random line that matches the pattern given). You can call (or goto) a line in a different section, but remember, the sections are numbered, not labeled, so you better have external documentation to document what each section does. I think you can repeat sections from file to file, but I'm not sure if all the lines in a section (across files) are collected together, or are file scoped (all I have to go on is one page on the Internet and two programs written in this hideous langauge). -spc (Oh yeah, and no comments in the language either ... )