On Fri, Jan 10, 2003 at 11:53:15AM -0600, Jensen Kenneth B SrA AFPC/DPDMPQ wrote: > From: Tim Musson [mailto:[EMAIL PROTECTED]] > > > > JKBSAD> $one = 1; > > > > JKBSAD> ($one == 1) ? (print "\$one equals", print "$one") : (print > > JKBSAD> "\$one does not ", print "equal 1"); > > > > Why the double print statements? > > The two print statements were there for the sake of having 2 commands.
print "\$one equals", print "$one" is just one statement. It is a print statement which prints a list. The first element in the list is the string "\$one equals". The second element is the result of the expression C<print "$one">. To determine the result of that expression it is executed, with the side effect of printing "$one". The return value is true (1 in this case) if the print succeeded. So the final list printed is ("\$one equals", 1). > Seems to me that multiple commands are executed in reverse order (right to > left). No. Statements are always executed in the order they are encountered. If that does not suit you, check out Befunge and other similar languages ;-) -- Paul Johnson - [EMAIL PROTECTED] http://www.pjcj.net -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]