Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
You need to put the rest of the parameters in the 8th
parameter and parse them yourself. Something like:$@test one two three four five six seven "eight nine ten"test.com:
$ set noon $ set nover $ np = 8 $p8_loop: $ if p8 .eqs. "" then goto nop8 $ myp'np' = f$ele(0," ",p8) $ p8 = p8 - myp'np' - " " $ np = np + 1 $ goto p8_loop $nop8: $ sho sym myp* $exitKen

Hi ken,
i started my career in VMS.I tried ur program, it's working fine.One clariffication:
Any way to print the order the way we passed in 8 ELEMENT

There is no "shift" function in DCL. But a slight variation on Ken's example would allow you to get the same (possibly better) functionality.
I would recommend passing all values in a single parameter (P1) as a quoted string with each value separated by a unique delimiter. Then use the F$ELEMENT() lexical function as shown in Ken's example to "shift" through the values.
To display the values in the order they were passed in, simply add the following command inside the loop as you're parsing the values:
$ write sys$output "P''np' = ", myp'np'
(Of course, if you do that, you'd probably want to take out the show symbol command.)

![]() |
![]() |
![]() |
| Login or Register to Reply | |
| Login | Register |
| Ads by Google |