[Info-vax] capture program output into a symbol ?
VAXman- at SendSpamHere.ORG
VAXman- at SendSpamHere.ORG
Mon May 9 13:15:17 EDT 2011
In article <6680fa51-46c8-4e01-b381-9a4376ac224e at e13g2000vbo.googlegroups.com>, Pierre <pierre.bru at gmail.com> writes:
>On Apr 18, 3:41 pm, VAXman- @SendSpamHere.ORG wrote:
>[...]
>> If it weren't that popen() interferes with PIPE, I would have suggested to
>> him that he get my SYMBOL program to write the output to the symbol. PIPE
>> and SYMBOL can directly affect a symbol in any procedureal level making it
>> much less cumbersome to follow the logic and fewer subprocesses and logical
>> name games.
>> --
>> VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG
>
>hi,
>
>is it possible using "symbol" to set a local symbol, but in the
>previous/upper local DCL symbol frame ?
Yes.
$ SYMBOL/SET/LOCAL/DEPTH=-1 symbol value
The /DEPTH qualifier will accept an absolute procedure level value or a
relative procedure level. In the example above, the -1 is relative and
indicates that the symbol should be set in at prior procedure level (ie.
current level - 1).
>$ call foobar
>....
>$ foobar:subroutine
>$ <call "symbol" to set a local symbol in the procedure outside of the
>foobar subroutine>
$ GO_ON = "FALSE"
$ CALL FOOBAR
$ IF .NOT.GO_ON THEN $ EXIT
$ WRITE SYS$OUTPUT "SYMBOL set GO_ON to TRUE"
$ EXIT
$
$ FOOBAR: SUBROUTINE
$ GO_ON = "TRUE"
$!!!SYMBOL/SET/LOCAL/DEPTH=-1 GO_ON "TRUE"
$ EXIT
$ ENDSUBROUTINE
Run the above and the procedure will exit. Remove the "!!!" and the
procedure will print the message: SYMBOL set GO_ON to TRUE
>is "symbol" buildable on VMS8.3/8.4 Itanium ?
Register, download, install product and license, and have a go.
http://www.tmesis.com/SYMBOL
--
VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)ORG
All your spirit rack abuses, come to haunt you back by day.
All your Byzantine excuses, given time, given you away.
More information about the Info-vax
mailing list