Don't know if anyone in the discussion has ever written any of IBM's early RPG (note that the options are still in the RPG/400 for the ILE, too, . . .DO NOT USE THEM!), but RPG instructions (known as "calculation" or "C" specs. -- nothing to do with the C programming language) have a throw-back conditional feature known as left hand indicators, three of them per instruction, actually, that can be set in a variety of boolean states to determine whether the line of code is to be executed or not. These indicators are boolean switches that can be set on or off (i.e., true or false) elsewhere in the code. As I mentioned, these are throw-backs to the days when the IBM S/3x family of machines was emerging out of the 1410 transistor and 360 mainframe (360 Macro Assembler with JCL, RPG was and the acronym still stands for "Report Program Generator",. . .but that's another story). Regardless, a few lines of RPG pseudo-code might look something like this
N01 23 N04 DO-Until. . . N24 25 goto somewhere else 45 perform a subroutine 56 if something is equal to something then set indicator 56 off 72 end-if 71 end-do This reads as, "If indicator 01 was not set-on somewhere, and if indicator 23 was set-on somewhere, and indicator 04 was not set-on somewhere, then DO something until some condition is met, but oh-by-the-way, while you're in this do-loop, if indicator 24 is not on and indicator 25 is on, then go somewhere else, all the time, keeping in mind that if indicator 24 is turned on, or indicator 25 is turned off, then don't go somewhere, . . .also, if indicator 45 is on, then perform a subroutine while keeping in mind that the performed subroutine could also have similar instructions in it, too); indicator 56 must be on for a conditional "if true" scenario is to prevent itself from executing again; and as a final aggrevation, that final "enddo" doesn't count unless indicator 71 is on, similarily indicator 72 conditions the end-if. I'm sure that I've missed some other scenarios, but my point is that this is as EVIL as it gets, or pretzel-logic at it's "best"? OTTF, Ron W. P.S. In defense of RPG, If's, Do's and While's were not features of RPG-PH (pre-historic) -------------------------------------------------------------------------------- ----- Original Message ----- From: Chris Devers To: Charles K. Clarkson Cc: Perl Beginners List Sent: Thursday, January 06, 2005 6:24 AM Subject: RE: Is GOTO evil?