All symbols are case insensitive. Talis are case sensivtive:

    bar='baz'
   say f.bar
   say foo.BAR
   say FOO.bar
   say FOO.BAR

will give 4 identical outputs, but change that first line to bar='BAZ' and 
you're talking about a different variable.

You can use the value BIF to get expressions in tails: x =value('foo.'bar'2')

WTF is a "longITERATE" or a "longLEAVE"?

Admittedly I use here documents in Perl, but I'm not a big fan of them.

Why can't IBM implement GLOBALV in TSO?

If IBM would be up OOREXX some of your other issues would be addressed.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of 
Paul Gilmartin <[email protected]>
Sent: Friday, May 11, 2018 12:25 PM
To: [email protected]
Subject: Re: Heretic alert: I really detest TSO REXX (the language)

On Fri, 11 May 2018 10:41:37 -0500, Kirk Wolf wrote:
>
>I recognize that many here have learned it really well and don't have to
>think about all of the pitfalls and landmines.   But please don't try to
>tell new mainframers who have learned modern scripting languages how nice
>it is :-)
>
>The good:
>
>- it is on every z/OS system,  and it has a good set of system interfaces
>("environments")
>- it does have case-sensitive variable names, which maybe some people don't
>like ;-)
>
Sort of, or inconsistently.  Simple symbols are case-insensitive; derived names
or compound symbols are case-sensitive.
>
>The bad:
>
>- a single data type (string)
>- limited control flow statements; lack of short-cut boolean expressions
>- compound variables - the only data structure you'll ever need?
>- weird handling of undefined/omitted variables/args
>- variable name scopes?
>- packages/namespaces/libraries?
>- purports to follow the principle of "least surprise", but I often find
>the opposite
>- slow (although that really isn't a language criticism)
>
My list, considerably overlapping yours:

Shortcomings:
    No expressions in compound tails
    No sharing variables between EXECs
    No call by reference
    No COPY/INCLUDE/SOURCE facility
    No longITERATE/longLEAVE
    No instream data facility (here-document)

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to